-
Notifications
You must be signed in to change notification settings - Fork 51
132 lines (114 loc) · 4.93 KB
/
linux.yml
File metadata and controls
132 lines (114 loc) · 4.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Build LVGL MicroPython for Linux x64, esp32 and esp32s3
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch: # allow manual workflow starts
jobs:
build:
runs-on: ubuntu-24.04
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_x64_linux_${{ steps.version.outputs.OS_VERSION }}.elf
- name: Upload built binary as artifact
uses: actions/upload-artifact@v4
with:
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
run: |
./tests/syntax.sh
continue-on-error: true
- name: Run unit tests on unix
run: |
./tests/unittest.sh
continue-on-error: true
- 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