11
11
required : true
12
12
13
13
jobs :
14
- clang_and_doxy :
14
+ clang :
15
15
name : 🔎 Clang
16
16
runs-on : ubuntu-latest
17
17
steps :
@@ -30,10 +30,46 @@ jobs:
30
30
- name : clang
31
31
run : python3 ci/run-clang-format.py -r -e "ci/*" -e "bin/*" -e src/nanopb -e src/protos -e src/pb.h -e src/provisioning/tinyusb src/
32
32
33
+ test-offline-mode :
34
+ name : 🧪 Test Offline Mode
35
+ runs-on : ubuntu-latest
36
+ needs : clang
37
+ steps :
38
+ - name : Check out repository code
39
+ uses : actions/checkout@v4
40
+ - name : Set up Python
41
+ uses : actions/setup-python@v5
42
+ with :
43
+ python-version : ' 3.13'
44
+ - name : Install Python dependencies
45
+ run : |
46
+ python -m pip install --upgrade pip
47
+ pip install -r tests/requirements.txt
48
+ - name : Install Wokwi CI Server
49
+ uses : wokwi/wokwi-ci-server-action@v1
50
+ - name : Install Wokwi CLI
51
+ run : curl -L https://wokwi.com/ci/install.sh | sh
52
+ - name : Install PIO Libraries for esp32dev target
53
+ run : pio pkg install --environment=esp32dev
54
+ - name : Build PlatformIO Project
55
+ run : platformio run --environment esp32dev
56
+ - name : Move new build file to test folder
57
+ run : cp .pio/build/esp32dev/firmware.elf tests/bin/offline/firmware.elf
58
+ - name : Run Wokwi Tests
59
+ run : pytest tests/test_offline.py --junitxml=report.xml -v
60
+ env :
61
+ WOKWI_CLI_TOKEN : ${{ secrets.WOKWI_CLI_TOKEN }}
62
+ - name : Publish Wokwi Test Results
63
+ uses : EnricoMi/publish-unit-test-result-action@v2
64
+ if : always()
65
+ with :
66
+ files : |
67
+ /home/runner/work/Adafruit_Wippersnapper_Arduino/Adafruit_Wippersnapper_Arduino/report.xml
68
+
33
69
build-esp32sx :
34
- name : 🏗️ESP32 -Sx
70
+ name : 🏗️ ESP32 -Sx
35
71
runs-on : ubuntu-latest
36
- needs : clang_and_doxy
72
+ needs : [clang, test-offline-mode]
37
73
strategy :
38
74
fail-fast : false
39
75
matrix :
@@ -135,9 +171,9 @@ jobs:
135
171
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin
136
172
137
173
build-rp2040 :
138
- name : 🏗️RP2040 , RP2350
174
+ name : 🏗️ RP2040 , RP2350
139
175
runs-on : ubuntu-latest
140
- needs : clang_and_doxy
176
+ needs : [clang, test-offline-mode]
141
177
strategy :
142
178
fail-fast : false
143
179
matrix :
@@ -220,7 +256,7 @@ jobs:
220
256
221
257
222
258
release-wippersnapper :
223
- name : Release WipperSnapper
259
+ name : 🚀 Upload Release Files
224
260
runs-on : ubuntu-latest
225
261
needs : merge-job-build-files
226
262
steps :
0 commit comments