You've already forked MicroPythonOS
mirror of
https://github.com/m5stack/MicroPythonOS.git
synced 2026-05-20 11:51:27 -07:00
90 lines
3.3 KiB
YAML
90 lines
3.3 KiB
YAML
name: Build LVGL MicroPython for MacOS
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
workflow_dispatch: # allow manual workflow starts
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: macos-14
|
|
|
|
steps:
|
|
- name: Checkout repository with submodules
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Install dependencies via Homebrew
|
|
run: |
|
|
xcode-select --install || true # already installed on github
|
|
brew install pkg-config libffi ninja make SDL2
|
|
|
|
- name: Show version numbers
|
|
run: |
|
|
xcodebuild -version
|
|
clang --version
|
|
|
|
- name: Extract OS version
|
|
id: version
|
|
run: |
|
|
OS_VERSION=$(grep "release = " internal_filesystem/lib/mpos/build_info.py | cut -d "=" -f 2 | cut -d "#" -f 1 | tr -d " " | tr -d '"')
|
|
echo "OS_VERSION=$OS_VERSION" >> $GITHUB_OUTPUT
|
|
echo "Extracted version: $OS_VERSION"
|
|
|
|
- name: Build LVGL MicroPython for macOS dev
|
|
run: |
|
|
./scripts/build_mpos.sh macOS
|
|
|
|
- name: Run syntax tests on macOS
|
|
run: |
|
|
./tests/syntax.sh
|
|
continue-on-error: true
|
|
|
|
- name: Run unit tests on macOS
|
|
run: |
|
|
./tests/unittest.sh
|
|
mv lvgl_micropython/build/lvgl_micropy_macOS lvgl_micropython/build/MicroPythonOS_amd64_macOS_${{ steps.version.outputs.OS_VERSION }}.bin
|
|
continue-on-error: true
|
|
|
|
- name: Upload built binary as artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: MicroPythonOS_amd64_macOS_${{ steps.version.outputs.OS_VERSION }}.bin
|
|
path: lvgl_micropython/build/MicroPythonOS_amd64_macOS_${{ steps.version.outputs.OS_VERSION }}.bin
|
|
compression-level: 0 # don't zip it
|
|
retention-days: 7
|
|
|
|
- name: Build LVGL MicroPython esp32
|
|
run: |
|
|
./scripts/build_mpos.sh esp32
|
|
mv lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin lvgl_micropython/build/MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.bin
|
|
mv lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/micropython.bin lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.ota
|
|
|
|
- name: Upload built binary as artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.bin
|
|
path: lvgl_micropython/build/MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.bin
|
|
compression-level: 0 # don't zip it
|
|
retention-days: 7
|
|
|
|
- name: Upload built binary as artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.ota
|
|
path: lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.ota
|
|
compression-level: 0 # don't zip it
|
|
retention-days: 7
|
|
|
|
- name: Cleanup
|
|
run: |
|
|
rm lvgl_micropython/build/MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.bin
|
|
rm lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.ota
|
|
|
|
|