From d340dd11a5f407c76f4e12fd3aeb2434bc164f49 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Tue, 24 Mar 2026 17:58:23 +0100 Subject: [PATCH] GitHub actions: add macos-intel, target macos-15 and rename amd64 to x64 --- .github/workflows/linux.yml | 6 +- .github/workflows/macos-intel.yml | 101 ++++++++++++++++++++++++++++++ .github/workflows/macos.yml | 6 +- 3 files changed, 107 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/macos-intel.yml diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index add42ac0..c27e0082 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -70,13 +70,13 @@ jobs: - name: Build LVGL MicroPython for unix run: | ./scripts/build_mpos.sh unix - cp lvgl_micropython/build/lvgl_micropy_unix lvgl_micropython/build/MicroPythonOS_amd64_linux_${{ steps.version.outputs.OS_VERSION }}.elf + cp lvgl_micropython/build/lvgl_micropy_unix lvgl_micropython/build/MicroPythonOS_x64_linux_${{ steps.version.outputs.OS_VERSION }}.elf - name: Upload built binary as artifact uses: actions/upload-artifact@v4 with: - name: MicroPythonOS_amd64_linux_${{ steps.version.outputs.OS_VERSION }}.elf - path: lvgl_micropython/build/MicroPythonOS_amd64_linux_${{ steps.version.outputs.OS_VERSION }}.elf + name: MicroPythonOS_x64_linux_${{ steps.version.outputs.OS_VERSION }}.elf + path: lvgl_micropython/build/MicroPythonOS_x64_linux_${{ steps.version.outputs.OS_VERSION }}.elf retention-days: 7 - name: Run syntax tests on unix diff --git a/.github/workflows/macos-intel.yml b/.github/workflows/macos-intel.yml new file mode 100644 index 00000000..94f3bb6b --- /dev/null +++ b/.github/workflows/macos-intel.yml @@ -0,0 +1,101 @@ +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-15-intel + + 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_intel_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_intel_macOS_${{ steps.version.outputs.OS_VERSION }}.bin + path: lvgl_micropython/build/MicroPythonOS_intel_macOS_${{ steps.version.outputs.OS_VERSION }}.bin + retention-days: 7 + + + - name: Build LVGL MicroPython esp32 + run: | + ./scripts/build_mpos.sh esp32 + mv lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC-SPIRAM-16.bin lvgl_micropython/build/MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.bin + mv lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC-SPIRAM/micropython.bin lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC-SPIRAM/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 + 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-SPIRAM/MicroPythonOS_esp32_${{ steps.version.outputs.OS_VERSION }}.ota + retention-days: 7 + + + - name: Build LVGL MicroPython esp32s3 + run: | + ./scripts/build_mpos.sh esp32s3 + mv lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin lvgl_micropython/build/MicroPythonOS_esp32s3_${{ 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_esp32s3_${{ steps.version.outputs.OS_VERSION }}.ota + + - name: Upload built binary as artifact + uses: actions/upload-artifact@v4 + with: + name: MicroPythonOS_esp32s3_${{ steps.version.outputs.OS_VERSION }}.bin + path: lvgl_micropython/build/MicroPythonOS_esp32s3_${{ steps.version.outputs.OS_VERSION }}.bin + retention-days: 7 + + - name: Upload built binary as artifact + uses: actions/upload-artifact@v4 + with: + name: MicroPythonOS_esp32s3_${{ steps.version.outputs.OS_VERSION }}.ota + path: lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/MicroPythonOS_esp32s3_${{ steps.version.outputs.OS_VERSION }}.ota + retention-days: 7 diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 2876bd67..b718b4c4 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -48,14 +48,14 @@ jobs: - 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 + mv lvgl_micropython/build/lvgl_micropy_macOS lvgl_micropython/build/MicroPythonOS_arm64_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 + name: MicroPythonOS_arm64_macOS_${{ steps.version.outputs.OS_VERSION }}.bin + path: lvgl_micropython/build/MicroPythonOS_arm64_macOS_${{ steps.version.outputs.OS_VERSION }}.bin retention-days: 7