|
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