Skip to content

Commit 761b1db

Browse files
committed
merged commits from main
1 parent bb424c7 commit 761b1db

File tree

1,088 files changed

+16365
-10011
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,088 files changed

+16365
-10011
lines changed

.github/workflows/build.yml

Lines changed: 45 additions & 229 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ on:
1515
jobs:
1616
test:
1717
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+
espressif-boards: ${{ steps.set-matrix.outputs.espressif-boards }}
1822
steps:
1923
- name: Dump GitHub context
2024
env:
@@ -43,9 +47,6 @@ jobs:
4347
run: |
4448
gcc --version
4549
python3 --version
46-
- name: New boards check
47-
run: python3 -u ci_new_boards_check.py
48-
working-directory: tools
4950
- name: Duplicate USB VID/PID Check
5051
run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
5152
- name: Build and Validate Stubs
@@ -79,6 +80,10 @@ jobs:
7980
- name: Test all
8081
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1
8182
working-directory: tests
83+
- name: Print failure info
84+
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --print-failures
85+
if: failure()
86+
working-directory: tests
8287
- name: Native Tests
8388
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython-coverage ./run-tests.py -j1 --emit native
8489
working-directory: tests
@@ -135,6 +140,29 @@ jobs:
135140
# setup.py sdist was run by 'make stubs'
136141
[ -z "$TWINE_USERNAME" ] || echo "Uploading dev release to PyPi"
137142
[ -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
138166
139167
mpy-cross-mac:
140168
runs-on: macos-10.15
@@ -199,198 +227,8 @@ jobs:
199227
strategy:
200228
fail-fast: false
201229
matrix:
202-
board:
203-
- "8086_commander"
204-
- "ADM_B_NRF52840_1"
205-
- "TG-Watch"
206-
- "adafruit_feather_rp2040"
207-
- "adafruit_itsybitsy_rp2040"
208-
- "adafruit_macropad_rp2040"
209-
- "adafruit_neokey_trinkey_m0"
210-
- "adafruit_proxlight_trinkey_m0"
211-
- "adafruit_qt2040_trinkey"
212-
- "adafruit_qtpy_rp2040"
213-
- "adafruit_rotary_trinkey_m0"
214-
- "adafruit_slide_trinkey_m0"
215-
- "aloriumtech_evo_m51"
216-
- "aramcon2_badge"
217-
- "aramcon_badge_2019"
218-
- "arduino_mkr1300"
219-
- "arduino_mkrzero"
220-
- "arduino_nano_33_ble"
221-
- "arduino_nano_33_iot"
222-
- "arduino_nano_rp2040_connect"
223-
- "arduino_zero"
224-
- "bast_pro_mini_m0"
225-
- "bastble"
226-
- "bdmicro_vina_d21"
227-
- "bdmicro_vina_d51"
228-
- "bdmicro_vina_d51_pcb7"
229-
- "bless_dev_board_multi_sensor"
230-
- "blm_badge"
231-
- "capablerobot_usbhub"
232-
- "catwan_usbstick"
233-
- "circuitbrains_basic_m0"
234-
- "circuitbrains_deluxe_m4"
235-
- "circuitplayground_bluefruit"
236-
- "circuitplayground_express"
237-
- "circuitplayground_express_crickit"
238-
- "circuitplayground_express_displayio"
239-
- "clue_nrf52840_express"
240-
- "cp32-m4"
241-
- "cp_sapling_m0"
242-
- "cp_sapling_m0_revb"
243-
- "cp_sapling_m0_spiflash"
244-
- "cytron_maker_pi_rp2040"
245-
- "datalore_ip_m4"
246-
- "datum_distance"
247-
- "datum_imu"
248-
- "datum_light"
249-
- "datum_weather"
250-
- "dynalora_usb"
251-
- "dynossat_edu_eps"
252-
- "dynossat_edu_obc"
253-
- "electronut_labs_blip"
254-
- "electronut_labs_papyr"
255-
- "escornabot_makech"
256-
- "espruino_pico"
257-
- "espruino_wifi"
258-
- "feather_bluefruit_sense"
259-
- "feather_m0_adalogger"
260-
- "feather_m0_basic"
261-
- "feather_m0_express"
262-
- "feather_m0_express_crickit"
263-
- "feather_m0_rfm69"
264-
- "feather_m0_rfm9x"
265-
- "feather_m0_supersized"
266-
- "feather_m4_can"
267-
- "feather_m4_express"
268-
- "feather_m7_1011"
269-
- "feather_mimxrt1011"
270-
- "feather_mimxrt1062"
271-
- "feather_nrf52840_express"
272-
- "feather_stm32f405_express"
273-
- "fluff_m0"
274-
- "gemma_m0"
275-
- "grandcentral_m4_express"
276-
- "hallowing_m0_express"
277-
- "hallowing_m4_express"
278-
- "hiibot_bluefi"
279-
- "huntercat_nfc"
280-
- "ikigaisense_vita"
281-
- "imxrt1010_evk"
282-
- "imxrt1020_evk"
283-
- "imxrt1060_evk"
284-
- "itsybitsy_m0_express"
285-
- "itsybitsy_m4_express"
286-
- "itsybitsy_nrf52840_express"
287-
- "kicksat-sprite"
288-
- "loc_ber_m4_base_board"
289-
- "makerdiary_m60_keyboard"
290-
- "makerdiary_nrf52840_m2_devkit"
291-
- "makerdiary_nrf52840_mdk"
292-
- "makerdiary_nrf52840_mdk_usb_dongle"
293-
- "matrixportal_m4"
294-
- "melopero_shake_rp2040"
295-
- "meowbit_v121"
296-
- "meowmeow"
297-
- "metro_m0_express"
298-
- "metro_m4_airlift_lite"
299-
- "metro_m4_express"
300-
- "metro_m7_1011"
301-
- "metro_nrf52840_express"
302-
- "microbit_v2"
303-
- "mini_sam_m4"
304-
- "monster_m4sk"
305-
- "ndgarage_ndbit6"
306-
- "ndgarage_ndbit6_v2"
307-
- "neopixel_trinkey_m0"
308-
- "nfc_copy_cat"
309-
- "nice_nano"
310-
- "nucleo_f746zg"
311-
- "nucleo_f767zi"
312-
- "nucleo_h743zi_2"
313-
- "ohs2020_badge"
314-
- "openbook_m4"
315-
- "openmv_h7"
316-
- "particle_argon"
317-
- "particle_boron"
318-
- "particle_xenon"
319-
- "pca10056"
320-
- "pca10059"
321-
- "pca10100"
322-
- "pewpew10"
323-
- "pewpew_m4"
324-
- "picoplanet"
325-
- "pimoroni_keybow2040"
326-
- "pimoroni_pga2040"
327-
- "pimoroni_picolipo_16mb"
328-
- "pimoroni_picolipo_4mb"
329-
- "pimoroni_picosystem"
330-
- "pimoroni_tiny2040"
331-
- "pitaya_go"
332-
- "pyb_nano_v2"
333-
- "pybadge"
334-
- "pyboard_v11"
335-
- "pycubed"
336-
- "pycubed_mram"
337-
- "pygamer"
338-
- "pyportal"
339-
- "pyportal_titano"
340-
- "pyruler"
341-
- "qtpy_m0"
342-
- "qtpy_m0_haxpress"
343-
- "raspberry_pi_pico"
344-
- "raytac_mdbt50q-db-40"
345-
- "robohatmm1_m4"
346-
- "sam32"
347-
- "same54_xplained"
348-
- "seeeduino_wio_terminal"
349-
- "seeeduino_xiao"
350-
- "sensebox_mcu"
351-
- "serpente"
352-
- "shirtty"
353-
- "silicognition-m4-shim"
354-
- "simmel"
355-
- "snekboard"
356-
- "sparkfun_lumidrive"
357-
- "sparkfun_micromod_rp2040"
358-
- "sparkfun_nrf52840_micromod"
359-
- "sparkfun_nrf52840_mini"
360-
- "sparkfun_pro_micro_rp2040"
361-
- "sparkfun_qwiic_micro_no_flash"
362-
- "sparkfun_qwiic_micro_with_flash"
363-
- "sparkfun_redboard_turbo"
364-
- "sparkfun_samd21_dev"
365-
- "sparkfun_samd21_mini"
366-
- "sparkfun_samd51_micromod"
367-
- "sparkfun_samd51_thing_plus"
368-
- "sparkfun_thing_plus_rp2040"
369-
- "spresense"
370-
- "stackrduino_m0_pro"
371-
- "stm32f411ce_blackpill"
372-
- "stm32f411ce_blackpill_with_flash"
373-
- "stm32f411ve_discovery"
374-
- "stm32f412zg_discovery"
375-
- "stm32f4_discovery"
376-
- "stm32f746g_discovery"
377-
- "stringcar_m0_express"
378-
- "teensy40"
379-
- "teensy41"
380-
- "teknikio_bluebird"
381-
- "thunderpack_v11"
382-
- "thunderpack_v12"
383-
- "tinkeringtech_scoutmakes_azul"
384-
- "trellis_m4_express"
385-
- "trinket_m0"
386-
- "trinket_m0_haxpress"
387-
- "uartlogger2"
388-
- "uchip"
389-
- "ugame10"
390-
- "winterbloom_big_honking_button"
391-
- "winterbloom_sol"
392-
- "xinabox_cc03"
393-
- "xinabox_cs11"
230+
board: ${{ fromJSON(needs.test.outputs.arm-boards) }}
231+
if: ${{ needs.test.outputs.arm-boards != '[]' }}
394232

395233
steps:
396234
- name: Set up Python 3.8
@@ -440,8 +278,8 @@ jobs:
440278
strategy:
441279
fail-fast: false
442280
matrix:
443-
board:
444-
- "fomu"
281+
board: ${{ fromJSON(needs.test.outputs.riscv-boards) }}
282+
if: ${{ needs.test.outputs.riscv-boards != '[]' }}
445283

446284
steps:
447285
- name: Set up Python 3.8
@@ -456,7 +294,7 @@ jobs:
456294
- name: Install deps
457295
run: |
458296
sudo apt-get install -y gettext
459-
pip install requests sh click setuptools awscli
297+
pip install -r requirements-dev.txt
460298
wget https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
461299
sudo tar -C /usr --strip-components=1 -xaf riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
462300
- name: Versions
@@ -484,36 +322,14 @@ jobs:
484322
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
485323
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
486324
if: (github.event_name == 'push' && github.ref == 'refs/heads/main' && github.repository_owner == 'adafruit') || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
487-
build-xtensa:
325+
build-espressif:
488326
runs-on: ubuntu-20.04
489327
needs: test
490328
strategy:
491329
fail-fast: false
492330
matrix:
493-
board:
494-
- "adafruit_feather_esp32s2_nopsram"
495-
- "adafruit_feather_esp32s2_tftback_nopsram"
496-
- "adafruit_funhouse"
497-
- "adafruit_magtag_2.9_grayscale"
498-
- "adafruit_metro_esp32s2"
499-
- "artisense_rd00"
500-
- "atmegazero_esp32s2"
501-
- "electroniccats_bastwifi"
502-
- "espressif_kaluga_1"
503-
- "espressif_kaluga_1.3"
504-
- "espressif_saola_1_wroom"
505-
- "espressif_saola_1_wrover"
506-
- "franzininho_wifi_wroom"
507-
- "franzininho_wifi_wrover"
508-
- "lilygo_ttgo_t8_s2_st7789"
509-
- "microdev_micro_s2"
510-
- "muselab_nanoesp32_s2_wroom"
511-
- "muselab_nanoesp32_s2_wrover"
512-
- "targett_module_clip_wroom"
513-
- "targett_module_clip_wrover"
514-
- "unexpectedmaker_feathers2"
515-
- "unexpectedmaker_feathers2_prerelease"
516-
- "unexpectedmaker_tinys2"
331+
board: ${{ fromJSON(needs.test.outputs.espressif-boards) }}
332+
if: ${{ needs.test.outputs.espressif-boards != '[]' }}
517333

518334
steps:
519335
- name: Set up Python 3.8
@@ -532,28 +348,28 @@ jobs:
532348
id: idf-cache
533349
with:
534350
path: ${{ github.workspace }}/.idf_tools
535-
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20210716
351+
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/espressif/esp-idf/HEAD') }}-20210716
536352
- name: Clone IDF submodules
537353
run: |
538354
(cd $IDF_PATH && git submodule update --init)
539355
env:
540-
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
356+
IDF_PATH: ${{ github.workspace }}/ports/espressif/esp-idf
541357
- name: Install IDF tools
542358
run: |
543359
$IDF_PATH/tools/idf_tools.py --non-interactive install required
544360
$IDF_PATH/tools/idf_tools.py --non-interactive install cmake
545361
$IDF_PATH/tools/idf_tools.py --non-interactive install-python-env
546362
rm -rf $IDF_TOOLS_PATH/dist
547363
env:
548-
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
364+
IDF_PATH: ${{ github.workspace }}/ports/espressif/esp-idf
549365
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
550366
- name: Install CircuitPython deps
551367
run: |
552368
source $IDF_PATH/export.sh
553369
pip install -r requirements-dev.txt
554370
sudo apt-get install -y gettext ninja-build
555371
env:
556-
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
372+
IDF_PATH: ${{ github.workspace }}/ports/espressif/esp-idf
557373
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
558374
- name: Versions
559375
run: |
@@ -565,7 +381,7 @@ jobs:
565381
cmake --version
566382
shell: bash
567383
env:
568-
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
384+
IDF_PATH: ${{ github.workspace }}/ports/espressif/esp-idf
569385
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
570386
- name: mpy-cross
571387
run: make -C mpy-cross -j2
@@ -578,7 +394,7 @@ jobs:
578394
working-directory: tools
579395
shell: bash
580396
env:
581-
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
397+
IDF_PATH: ${{ github.workspace }}/ports/espressif/esp-idf
582398
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
583399
BOARDS: ${{ matrix.board }}
584400
- uses: actions/upload-artifact@v2

.github/workflows/ports_windows.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ jobs:
9999
# https://github.com/espressif/esp-idf/issues/7062
100100
#
101101
# - name: prepare esp
102-
# run: ports/esp32s2/esp-idf/install.bat
102+
# run: ports/espressif/esp-idf/install.bat
103103
# shell: cmd
104104
#
105105
# - name: build esp
106-
# run: . ports/esp32s2/esp-idf/export.sh && make -j2 -C ports/esp32s2 BOARD=adafruit_metro_esp32s2
106+
# run: . ports/espressif/esp-idf/export.sh && make -j2 -C ports/espressif BOARD=adafruit_metro_esp32s2

0 commit comments

Comments
 (0)