1111 required : true
1212
1313jobs :
14- clang_and_doxy :
14+ clang :
1515 name : 🔎 Clang
1616 runs-on : ubuntu-latest
1717 steps :
@@ -30,10 +30,46 @@ jobs:
3030 - name : clang
3131 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/
3232
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+
3369 build-esp32sx :
34- name : 🏗️ESP32 -Sx
70+ name : 🏗️ ESP32 -Sx
3571 runs-on : ubuntu-latest
36- needs : clang_and_doxy
72+ needs : [clang, test-offline-mode]
3773 strategy :
3874 fail-fast : false
3975 matrix :
@@ -135,9 +171,9 @@ jobs:
135171 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin
136172
137173 build-rp2040 :
138- name : 🏗️RP2040 , RP2350
174+ name : 🏗️ RP2040 , RP2350
139175 runs-on : ubuntu-latest
140- needs : clang_and_doxy
176+ needs : [clang, test-offline-mode]
141177 strategy :
142178 fail-fast : false
143179 matrix :
@@ -220,7 +256,7 @@ jobs:
220256
221257
222258 release-wippersnapper :
223- name : Release WipperSnapper
259+ name : 🚀 Upload Release Files
224260 runs-on : ubuntu-latest
225261 needs : merge-job-build-files
226262 steps :
0 commit comments