1+ name : LVGL-MicroPython For ESP32
2+
3+ on :
4+ workflow_dispatch :
5+
6+ env :
7+ LVGL : lvgl_micropython
8+ LVGL_REPO : https://github.com/lvgl-micropython/lvgl_micropython.git
9+ LVGL_VERSION : v9.1.0
10+ TZ : Asia/Shanghai
11+
12+ jobs :
13+ LVGL-MicroPython_ESP32 :
14+ name : Build LVGL-MicroPython
15+ runs-on : ubuntu-22.04
16+
17+ strategy :
18+ fail-fast : false
19+ matrix :
20+ info :
21+ - ' { "BOARD": "ESP32_GENERIC", "BOARD_VARIANT": "SPIRAM", "FLASH": "4" }'
22+ - ' { "BOARD": "ESP32_GENERIC", "BOARD_VARIANT": "SPIRAM", "FLASH": "8" }'
23+ - ' { "BOARD": "ESP32_GENERIC", "BOARD_VARIANT": "SPIRAM", "FLASH": "16" }'
24+ - ' { "BOARD": "ESP32_GENERIC_S3", "BOARD_VARIANT": "SPIRAM_OCT", "FLASH": "4" }'
25+ - ' { "BOARD": "ESP32_GENERIC_S3", "BOARD_VARIANT": "SPIRAM_OCT", "FLASH": "8" }'
26+ - ' { "BOARD": "ESP32_GENERIC_S3", "BOARD_VARIANT": "SPIRAM_OCT", "FLASH": "16" }'
27+
28+ steps :
29+ - name : Checkout
30+ uses : actions/checkout@main
31+
32+ - name : Initialization environment
33+ run : |
34+ sudo apt-get update -y
35+ sudo apt-get install -y build-essential libffi-dev git pkg-config
36+ sudo apt-get install -y git wget flex bison gperf python3 python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 python-is-python3 pip
37+ sudo timedatectl set-timezone "$TZ"
38+
39+ - name : Clone LVGL
40+ run : |
41+ git clone --depth=1 $LVGL_REPO $LVGL
42+
43+ - name : Compile the firmware
44+ id : compile
45+ run : |
46+ cd $LVGL
47+ python3 make.py esp32 BOARD=${{ fromJSON(matrix.info).BOARD }} BOARD_VARIANT=${{ fromJSON(matrix.info).BOARD_VARIANT }} --flash-size=${{ fromJSON(matrix.info).FLASH }} DISPLAY=rgb_display DISPLAY=st7796 DISPLAY=st7789 DISPLAY=st7735 DISPLAY=ili9488 DISPLAY=ili9486 DISPLAY=ili9481 DISPLAY=ili9341 DISPLAY=ili9225 DISPLAY=ili9163 DISPLAY=gc9a01 INDEV=xpt2046 INDEV=gt911 INDEV=ft6x36 INDEV=ft6x06 INDEV=ft5x16 INDEV=ft5x06
48+ echo "status=success" >> $GITHUB_OUTPUT
49+ echo "COMPILE_DATE=$(date +"%Y%m%d%H%M")" >> $GITHUB_ENV
50+
51+ - name : Organize compiled firmware
52+ if : steps.compile.outputs.status == 'success' && !cancelled()
53+ run : |
54+ cd $LVGL/build
55+ mv lvgl_micropy_${{ fromJSON(matrix.info).BOARD }}-${{ fromJSON(matrix.info).BOARD_VARIANT }}-${{ fromJSON(matrix.info).FLASH }}_FLASH.bin LVGL_${{ env.LVGL_VERSION }}-${{ fromJSON(matrix.info).BOARD }}-${{ fromJSON(matrix.info).BOARD_VARIANT }}-N${{ fromJSON(matrix.info).FLASH }}-${{ env.COMPILE_DATE }}.bin
56+
57+ - name : Upload firmware to release
58+ if : steps.compile.outputs.status == 'success' && !cancelled()
59+ uses : svenstaro/upload-release-action@v2
60+ with :
61+ repo_token : ${{ secrets.GITHUB_TOKEN }}
62+ file : ${{ env.LVGL }}/build/LVGL_${{ env.LVGL_VERSION }}-${{ fromJSON(matrix.info).BOARD }}-${{ fromJSON(matrix.info).BOARD_VARIANT }}-N${{ fromJSON(matrix.info).FLASH }}-${{ env.COMPILE_DATE }}.bin
63+ asset_name : LVGL_${{ env.LVGL_VERSION }}-${{ fromJSON(matrix.info).BOARD }}-${{ fromJSON(matrix.info).BOARD_VARIANT }}-N${{ fromJSON(matrix.info).FLASH }}-${{ env.COMPILE_DATE }}.bin
64+ tag : LVGL-MicroPython-${{ env.LVGL_VERSION }}
65+ body : |
66+ ### LVGL & MicroPython Firmware For ESP32
67+ [LVGL-MicroPython](https://github.com/kdschlosser/lvgl_micropython)
68+ LVGL: v9.1.0
69+ MicroPython: v1.23.0
70+ ESP-IDF: v5.2.0
71+ overwrite : true
72+
73+ Delete_Workflow :
74+ needs : [ LVGL-MicroPython_ESP32 ]
75+ runs-on : ubuntu-22.04
76+ steps :
77+ - name : Delete workflow runs
78+ uses : Mattraks/delete-workflow-runs@main
79+ with :
80+ retain_days : 0
81+ keep_minimum_runs : 4
0 commit comments