|
15 | 15 | jobs:
|
16 | 16 | test:
|
17 | 17 | runs-on: ubuntu-20.04
|
| 18 | + outputs: |
| 19 | + arm-boards: ${{ steps.set-matrix.outputs.arm-boards }} |
| 20 | + riscv-boards: ${{ steps.set-matrix.outputs.riscv-boards }} |
| 21 | + xtensa-boards: ${{ steps.set-matrix.outputs.xtensa-boards }} |
18 | 22 | steps:
|
19 | 23 | - name: Dump GitHub context
|
20 | 24 | env:
|
|
43 | 47 | run: |
|
44 | 48 | gcc --version
|
45 | 49 | python3 --version
|
46 |
| - - name: New boards check |
47 |
| - run: python3 -u ci_new_boards_check.py |
48 |
| - working-directory: tools |
49 | 50 | - name: Duplicate USB VID/PID Check
|
50 | 51 | run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
|
51 | 52 | - name: Build and Validate Stubs
|
@@ -139,6 +140,29 @@ jobs:
|
139 | 140 | # setup.py sdist was run by 'make stubs'
|
140 | 141 | [ -z "$TWINE_USERNAME" ] || echo "Uploading dev release to PyPi"
|
141 | 142 | [ -z "$TWINE_USERNAME" ] || twine upload circuitpython-stubs/dist/*
|
| 143 | + - uses: dorny/paths-filter@v2 |
| 144 | + id: filter |
| 145 | + with: |
| 146 | + # Enable listing of files matching each filter. |
| 147 | + # Paths to files will be available in `${FILTER_NAME}_files` output variable. |
| 148 | + # Paths will be formatted as JSON array |
| 149 | + list-files: json |
| 150 | + |
| 151 | + # Compare against this branch. (Ignored for PRs.) |
| 152 | + base: ${{ github.ref }} |
| 153 | + |
| 154 | + # In this example all changed files are passed to the following action to do |
| 155 | + # some custom processing. |
| 156 | + filters: | |
| 157 | + changed: |
| 158 | + - '**' |
| 159 | + - name: "Set boards to build" |
| 160 | + id: set-matrix |
| 161 | + working-directory: tools |
| 162 | + env: |
| 163 | + CHANGED_FILES: ${{ steps.filter.outputs.changed_files }} |
| 164 | + run: | |
| 165 | + python3 -u ci_changed_board_list.py |
142 | 166 |
|
143 | 167 | mpy-cross-mac:
|
144 | 168 | runs-on: macos-10.15
|
@@ -203,205 +227,7 @@ jobs:
|
203 | 227 | strategy:
|
204 | 228 | fail-fast: false
|
205 | 229 | matrix:
|
206 |
| - board: |
207 |
| - - "8086_commander" |
208 |
| - - "ADM_B_NRF52840_1" |
209 |
| - - "TG-Watch" |
210 |
| - - "adafruit_feather_rp2040" |
211 |
| - - "adafruit_itsybitsy_rp2040" |
212 |
| - - "adafruit_led_glasses_nrf52840" |
213 |
| - - "adafruit_macropad_rp2040" |
214 |
| - - "adafruit_neokey_trinkey_m0" |
215 |
| - - "adafruit_proxlight_trinkey_m0" |
216 |
| - - "adafruit_qt2040_trinkey" |
217 |
| - - "adafruit_qtpy_rp2040" |
218 |
| - - "adafruit_rotary_trinkey_m0" |
219 |
| - - "adafruit_slide_trinkey_m0" |
220 |
| - - "aloriumtech_evo_m51" |
221 |
| - - "aramcon2_badge" |
222 |
| - - "aramcon_badge_2019" |
223 |
| - - "arduino_mkr1300" |
224 |
| - - "arduino_mkrzero" |
225 |
| - - "arduino_nano_33_ble" |
226 |
| - - "arduino_nano_33_iot" |
227 |
| - - "arduino_nano_rp2040_connect" |
228 |
| - - "arduino_zero" |
229 |
| - - "bast_pro_mini_m0" |
230 |
| - - "bastble" |
231 |
| - - "bdmicro_vina_d21" |
232 |
| - - "bdmicro_vina_d51" |
233 |
| - - "bdmicro_vina_d51_pcb7" |
234 |
| - - "bless_dev_board_multi_sensor" |
235 |
| - - "blm_badge" |
236 |
| - - "bluemicro840" |
237 |
| - - "capablerobot_usbhub" |
238 |
| - - "catwan_usbstick" |
239 |
| - - "circuitbrains_basic_m0" |
240 |
| - - "circuitbrains_deluxe_m4" |
241 |
| - - "circuitplayground_bluefruit" |
242 |
| - - "circuitplayground_express" |
243 |
| - - "circuitplayground_express_crickit" |
244 |
| - - "circuitplayground_express_displayio" |
245 |
| - - "clue_nrf52840_express" |
246 |
| - - "cp32-m4" |
247 |
| - - "cp_sapling_m0" |
248 |
| - - "cp_sapling_m0_revb" |
249 |
| - - "cp_sapling_m0_spiflash" |
250 |
| - - "cytron_maker_pi_rp2040" |
251 |
| - - "datalore_ip_m4" |
252 |
| - - "datum_distance" |
253 |
| - - "datum_imu" |
254 |
| - - "datum_light" |
255 |
| - - "datum_weather" |
256 |
| - - "dynalora_usb" |
257 |
| - - "dynossat_edu_eps" |
258 |
| - - "dynossat_edu_obc" |
259 |
| - - "electronut_labs_blip" |
260 |
| - - "electronut_labs_papyr" |
261 |
| - - "escornabot_makech" |
262 |
| - - "espruino_pico" |
263 |
| - - "espruino_wifi" |
264 |
| - - "feather_bluefruit_sense" |
265 |
| - - "feather_m0_adalogger" |
266 |
| - - "feather_m0_basic" |
267 |
| - - "feather_m0_express" |
268 |
| - - "feather_m0_express_crickit" |
269 |
| - - "feather_m0_rfm69" |
270 |
| - - "feather_m0_rfm9x" |
271 |
| - - "feather_m0_supersized" |
272 |
| - - "feather_m4_can" |
273 |
| - - "feather_m4_express" |
274 |
| - - "feather_m7_1011" |
275 |
| - - "feather_mimxrt1011" |
276 |
| - - "feather_mimxrt1062" |
277 |
| - - "feather_nrf52840_express" |
278 |
| - - "feather_stm32f405_express" |
279 |
| - - "fluff_m0" |
280 |
| - - "gemma_m0" |
281 |
| - - "grandcentral_m4_express" |
282 |
| - - "hallowing_m0_express" |
283 |
| - - "hallowing_m4_express" |
284 |
| - - "hiibot_bluefi" |
285 |
| - - "huntercat_nfc" |
286 |
| - - "ikigaisense_vita" |
287 |
| - - "imxrt1010_evk" |
288 |
| - - "imxrt1020_evk" |
289 |
| - - "imxrt1060_evk" |
290 |
| - - "itsybitsy_m0_express" |
291 |
| - - "itsybitsy_m4_express" |
292 |
| - - "itsybitsy_nrf52840_express" |
293 |
| - - "jpconstantineau_encoderpad_rp2040" |
294 |
| - - "kicksat-sprite" |
295 |
| - - "loc_ber_m4_base_board" |
296 |
| - - "makerdiary_m60_keyboard" |
297 |
| - - "makerdiary_nrf52840_m2_devkit" |
298 |
| - - "makerdiary_nrf52840_mdk" |
299 |
| - - "makerdiary_nrf52840_mdk_usb_dongle" |
300 |
| - - "matrixportal_m4" |
301 |
| - - "meowbit_v121" |
302 |
| - - "meowmeow" |
303 |
| - - "metro_m0_express" |
304 |
| - - "metro_m4_airlift_lite" |
305 |
| - - "metro_m4_express" |
306 |
| - - "metro_m7_1011" |
307 |
| - - "metro_nrf52840_express" |
308 |
| - - "microbit_v2" |
309 |
| - - "mini_sam_m4" |
310 |
| - - "monster_m4sk" |
311 |
| - - "ndgarage_ndbit6" |
312 |
| - - "ndgarage_ndbit6_v2" |
313 |
| - - "neopixel_trinkey_m0" |
314 |
| - - "nfc_copy_cat" |
315 |
| - - "nice_nano" |
316 |
| - - "nucleo_f746zg" |
317 |
| - - "nucleo_f767zi" |
318 |
| - - "nucleo_h743zi_2" |
319 |
| - - "ohs2020_badge" |
320 |
| - - "openbook_m4" |
321 |
| - - "openmv_h7" |
322 |
| - - "particle_argon" |
323 |
| - - "particle_boron" |
324 |
| - - "particle_xenon" |
325 |
| - - "pca10056" |
326 |
| - - "pca10059" |
327 |
| - - "pca10100" |
328 |
| - - "pewpew10" |
329 |
| - - "pewpew_m4" |
330 |
| - - "picoplanet" |
331 |
| - - "pimoroni_interstate75" |
332 |
| - - "pimoroni_keybow2040" |
333 |
| - - "pimoroni_pga2040" |
334 |
| - - "pimoroni_picolipo_16mb" |
335 |
| - - "pimoroni_picolipo_4mb" |
336 |
| - - "pimoroni_picosystem" |
337 |
| - - "pimoroni_plasma2040" |
338 |
| - - "pimoroni_tiny2040" |
339 |
| - - "pitaya_go" |
340 |
| - - "pyb_nano_v2" |
341 |
| - - "pybadge" |
342 |
| - - "pyboard_v11" |
343 |
| - - "pycubed" |
344 |
| - - "pycubed_mram" |
345 |
| - - "pygamer" |
346 |
| - - "pyportal" |
347 |
| - - "pyportal_titano" |
348 |
| - - "pyruler" |
349 |
| - - "qtpy_m0" |
350 |
| - - "qtpy_m0_haxpress" |
351 |
| - - "raspberry_pi_pico" |
352 |
| - - "raytac_mdbt50q-db-40" |
353 |
| - - "raytac_mdbt50q-rx" |
354 |
| - - "robohatmm1_m4" |
355 |
| - - "sam32" |
356 |
| - - "same54_xplained" |
357 |
| - - "seeeduino_wio_terminal" |
358 |
| - - "seeeduino_xiao" |
359 |
| - - "sensebox_mcu" |
360 |
| - - "serpente" |
361 |
| - - "shirtty" |
362 |
| - - "silicognition-m4-shim" |
363 |
| - - "simmel" |
364 |
| - - "snekboard" |
365 |
| - - "sparkfun_lumidrive" |
366 |
| - - "sparkfun_micromod_rp2040" |
367 |
| - - "sparkfun_nrf52840_micromod" |
368 |
| - - "sparkfun_nrf52840_mini" |
369 |
| - - "sparkfun_pro_micro_rp2040" |
370 |
| - - "sparkfun_qwiic_micro_no_flash" |
371 |
| - - "sparkfun_qwiic_micro_with_flash" |
372 |
| - - "sparkfun_redboard_turbo" |
373 |
| - - "sparkfun_samd21_dev" |
374 |
| - - "sparkfun_samd21_mini" |
375 |
| - - "sparkfun_samd51_micromod" |
376 |
| - - "sparkfun_samd51_thing_plus" |
377 |
| - - "sparkfun_stm32f405_micromod" |
378 |
| - - "sparkfun_thing_plus_rp2040" |
379 |
| - - "spresense" |
380 |
| - - "stackrduino_m0_pro" |
381 |
| - - "stm32f411ce_blackpill" |
382 |
| - - "stm32f411ce_blackpill_with_flash" |
383 |
| - - "stm32f411ve_discovery" |
384 |
| - - "stm32f412zg_discovery" |
385 |
| - - "stm32f4_discovery" |
386 |
| - - "stm32f746g_discovery" |
387 |
| - - "stringcar_m0_express" |
388 |
| - - "teensy40" |
389 |
| - - "teensy41" |
390 |
| - - "teknikio_bluebird" |
391 |
| - - "thunderpack_v11" |
392 |
| - - "thunderpack_v12" |
393 |
| - - "tinkeringtech_scoutmakes_azul" |
394 |
| - - "trellis_m4_express" |
395 |
| - - "trinket_m0" |
396 |
| - - "trinket_m0_haxpress" |
397 |
| - - "uartlogger2" |
398 |
| - - "uchip" |
399 |
| - - "ugame10" |
400 |
| - - "warmbit_bluepixel" |
401 |
| - - "winterbloom_big_honking_button" |
402 |
| - - "winterbloom_sol" |
403 |
| - - "xinabox_cc03" |
404 |
| - - "xinabox_cs11" |
| 230 | + board: ${{ fromJSON(needs.test.outputs.arm-boards) }} |
405 | 231 |
|
406 | 232 | steps:
|
407 | 233 | - name: Set up Python 3.8
|
@@ -451,8 +277,7 @@ jobs:
|
451 | 277 | strategy:
|
452 | 278 | fail-fast: false
|
453 | 279 | matrix:
|
454 |
| - board: |
455 |
| - - "fomu" |
| 280 | + board: ${{ fromJSON(needs.test.outputs.riscv-boards) }} |
456 | 281 |
|
457 | 282 | steps:
|
458 | 283 | - name: Set up Python 3.8
|
@@ -501,41 +326,7 @@ jobs:
|
501 | 326 | strategy:
|
502 | 327 | fail-fast: false
|
503 | 328 | matrix:
|
504 |
| - board: |
505 |
| - - "adafruit_feather_esp32s2_nopsram" |
506 |
| - - "adafruit_feather_esp32s2_tftback_nopsram" |
507 |
| - - "adafruit_funhouse" |
508 |
| - - "adafruit_magtag_2.9_grayscale" |
509 |
| - - "adafruit_metro_esp32s2" |
510 |
| - - "ai_thinker_esp_12k_nodemcu" |
511 |
| - - "artisense_rd00" |
512 |
| - - "atmegazero_esp32s2" |
513 |
| - - "crumpspace_crumps2" |
514 |
| - - "electroniccats_bastwifi" |
515 |
| - - "espressif_hmi_devkit_1" |
516 |
| - - "espressif_kaluga_1" |
517 |
| - - "espressif_kaluga_1.3" |
518 |
| - - "espressif_saola_1_wroom" |
519 |
| - - "espressif_saola_1_wrover" |
520 |
| - - "franzininho_wifi_wroom" |
521 |
| - - "franzininho_wifi_wrover" |
522 |
| - - "gravitech_cucumber_m" |
523 |
| - - "gravitech_cucumber_ms" |
524 |
| - - "gravitech_cucumber_r" |
525 |
| - - "gravitech_cucumber_rs" |
526 |
| - - "lilygo_ttgo_t8_s2_st7789" |
527 |
| - - "lolin_s2_mini" |
528 |
| - - "microdev_micro_s2" |
529 |
| - - "morpheans_morphesp-240" |
530 |
| - - "muselab_nanoesp32_s2_wroom" |
531 |
| - - "muselab_nanoesp32_s2_wrover" |
532 |
| - - "odt_pixelwing_esp32_s2" |
533 |
| - - "targett_module_clip_wroom" |
534 |
| - - "targett_module_clip_wrover" |
535 |
| - - "unexpectedmaker_feathers2" |
536 |
| - - "unexpectedmaker_feathers2_neo" |
537 |
| - - "unexpectedmaker_feathers2_prerelease" |
538 |
| - - "unexpectedmaker_tinys2" |
| 329 | + board: ${{ fromJSON(needs.test.outputs.xtensa-boards) }} |
539 | 330 |
|
540 | 331 | steps:
|
541 | 332 | - name: Set up Python 3.8
|
|
0 commit comments