- Notifications
You must be signed in to change notification settings - Fork12
Fix GitHub Linux build#66
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
| 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-latest# Ubuntu is Debian-based and commonly used in GitHub Actions | |
| 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 CURRENT_OS_VERSION internal_filesystem/lib/mpos/info.py | cut -d "=" -f 2 | tr -d " " | tr -d '"') | |
| echo "OS_VERSION=$OS_VERSION" >> $GITHUB_OUTPUT | |
| echo "Extracted version: $OS_VERSION" | |
| -name:Build LVGL MicroPython for unix dev | |
| run:| | |
| ./scripts/build_mpos.sh unix dev | |
| -name:Run syntax tests on unix dev | |
| run:| | |
| ./tests/syntax.sh | |
| continue-on-error:true | |
| -name:Run unit tests on unix dev | |
| run:| | |
| ./tests/unittest.sh | |
| mv lvgl_micropython/build/lvgl_micropy_unix lvgl_micropython/build/MicroPythonOS_amd64_linux_dev_${{ steps.version.outputs.OS_VERSION }}.elf | |
| continue-on-error:true | |
| -name:Upload built binary as artifact | |
| uses:actions/upload-artifact@v4 | |
| with: | |
| name:MicroPythonOS_amd64_linux_dev_${{ steps.version.outputs.OS_VERSION }}.elf | |
| path:lvgl_micropython/build/MicroPythonOS_amd64_linux_dev_${{ steps.version.outputs.OS_VERSION }}.elf | |
| retention-days:7 | |
| -name:Build LVGL MicroPython esp32 prod fri3d-2024 | |
| run:| | |
| ./scripts/build_mpos.sh esp32 prod fri3d-2024 | |
| mv lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin lvgl_micropython/build/MicroPythonOS_fri3d-2024_prod_${{ 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_fri3d-2024_prod_${{ steps.version.outputs.OS_VERSION }}.ota | |
| -name:Upload built binary as artifact | |
| uses:actions/upload-artifact@v4 | |
| with: | |
| name:MicroPythonOS_fri3d-2024_prod_${{ steps.version.outputs.OS_VERSION }}.bin | |
| path:lvgl_micropython/build/MicroPythonOS_fri3d-2024_prod_${{ steps.version.outputs.OS_VERSION }}.bin | |
| retention-days:7 | |
| -name:Upload built binary as artifact | |
| uses:actions/upload-artifact@v4 | |
| with: | |
| name:MicroPythonOS_fri3d-2024_prod_${{ steps.version.outputs.OS_VERSION }}.ota | |
| path:lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/MicroPythonOS_fri3d-2024_prod_${{ steps.version.outputs.OS_VERSION }}.ota | |
| retention-days:7 | |
| -name:Build LVGL MicroPython esp32 dev fri3d-2024 | |
| run:| | |
| ./scripts/build_mpos.sh esp32 dev fri3d-2024 | |
| mv lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin lvgl_micropython/build/MicroPythonOS_fri3d-2024_dev_${{ steps.version.outputs.OS_VERSION }}.bin | |
| -name:Upload built binary as artifact | |
| uses:actions/upload-artifact@v4 | |
| with: | |
| name:MicroPythonOS_fri3d-2024_dev_${{ steps.version.outputs.OS_VERSION }}.bin | |
| path:lvgl_micropython/build/MicroPythonOS_fri3d-2024_dev_${{ steps.version.outputs.OS_VERSION }}.bin | |
| retention-days:7 | |
| -name:Build LVGL MicroPython esp32 prod waveshare-esp32-s3-touch-lcd-2 | |
| run:| | |
| ./scripts/build_mpos.sh esp32 prod waveshare-esp32-s3-touch-lcd-2 | |
| mv lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin lvgl_micropython/build/MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod_${{ 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_waveshare-esp32-s3-touch-lcd-2_prod_${{ steps.version.outputs.OS_VERSION }}.ota | |
| -name:Upload built binary as artifact | |
| uses:actions/upload-artifact@v4 | |
| with: | |
| name:MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod_${{ steps.version.outputs.OS_VERSION }}.bin | |
| path:lvgl_micropython/build/MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod_${{ steps.version.outputs.OS_VERSION }}.bin | |
| retention-days:7 | |
| -name:Upload built binary as artifact | |
| uses:actions/upload-artifact@v4 | |
| with: | |
| name:MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod_${{ steps.version.outputs.OS_VERSION }}.ota | |
| path:lvgl_micropython/lib/micropython/ports/esp32/build-ESP32_GENERIC_S3-SPIRAM_OCT/MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_prod_${{ steps.version.outputs.OS_VERSION }}.ota | |
| retention-days:7 | |
| -name:Build LVGL MicroPython esp32 dev waveshare-esp32-s3-touch-lcd-2 | |
| run:| | |
| ./scripts/build_mpos.sh esp32 dev waveshare-esp32-s3-touch-lcd-2 | |
| mv lvgl_micropython/build/lvgl_micropy_ESP32_GENERIC_S3-SPIRAM_OCT-16.bin lvgl_micropython/build/MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_dev_${{ steps.version.outputs.OS_VERSION }}.bin | |
| -name:Upload built binary as artifact | |
| uses:actions/upload-artifact@v4 | |
| with: | |
| name:MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_dev_${{ steps.version.outputs.OS_VERSION }}.bin | |
| path:lvgl_micropython/build/MicroPythonOS_waveshare-esp32-s3-touch-lcd-2_dev_${{ steps.version.outputs.OS_VERSION }}.bin | |
| retention-days:7 | |