forked from MicroPythonOS/MicroPythonOS
-
Notifications
You must be signed in to change notification settings - Fork 0
156 lines (134 loc) · 6.68 KB
/
linux.yml
File metadata and controls
156 lines (134 loc) · 6.68 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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