From 236eccace72689fba0c71ee5b957af1ff8a229b9 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Tue, 24 Mar 2026 09:59:28 +0100 Subject: [PATCH] Add linux-arm64 build --- .github/workflows/linux-arm64.yml | 93 +++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/linux-arm64.yml diff --git a/.github/workflows/linux-arm64.yml b/.github/workflows/linux-arm64.yml new file mode 100644 index 00000000..af18e146 --- /dev/null +++ b/.github/workflows/linux-arm64.yml @@ -0,0 +1,93 @@ +name: Build LVGL MicroPython on Linux + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: # allow manual workflow starts + +jobs: + build: + runs-on: ubuntu-24.04-arm + + steps: + - name: Checkout repository with submodules + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install lvgl_micropython dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + build-essential \ + libffi-dev \ + pkg-config \ + cmake \ + ninja-build \ + gnome-desktop-testing \ + libasound2-dev \ + libpulse-dev \ + libaudio-dev \ + libjack-dev \ + libsndio-dev \ + libx11-dev \ + libxext-dev \ + libxrandr-dev \ + libxcursor-dev \ + libxfixes-dev \ + libxi-dev \ + libxss-dev \ + libxkbcommon-dev \ + libdrm-dev \ + libgbm-dev \ + libgl1-mesa-dev \ + libgles2-mesa-dev \ + libegl1-mesa-dev \ + libdbus-1-dev \ + libibus-1.0-dev \ + libudev-dev \ + fcitx-libs-dev \ + libpipewire-0.3-dev \ + libwayland-dev \ + libdecor-0-dev + + - name: Install additional MicroPythonOS dependencies + run: | + sudo apt-get update + sudo apt-get install -y libv4l-dev + + - 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 unix + run: | + ./scripts/build_mpos.sh unix + cp lvgl_micropython/build/lvgl_micropy_unix lvgl_micropython/build/MicroPythonOS_arm64_linux_${{ steps.version.outputs.OS_VERSION }}.elf + + - name: Upload built binary as artifact + uses: actions/upload-artifact@v4 + with: + name: MicroPythonOS_arm64_linux_${{ steps.version.outputs.OS_VERSION }}.elf + path: lvgl_micropython/build/MicroPythonOS_arm64_linux_${{ steps.version.outputs.OS_VERSION }}.elf + retention-days: 7 + + - name: Run syntax tests on unix + run: | + ./tests/syntax.sh + continue-on-error: true + + - name: Run unit tests on unix + run: | + ./tests/unittest.sh + continue-on-error: true + + +