Skip to content

Commit 57b5a5e

Browse files
authored
Merge pull request #2 from adafruit/main
Pull latest changes
2 parents 4d7b9cd + 61bf0e9 commit 57b5a5e

File tree

1,509 files changed

+99330
-16157
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,509 files changed

+99330
-16157
lines changed

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
2+
#
3+
# SPDX-License-Identifier: MIT
4+
15
# Per default everything gets normalized and gets LF line endings on checkout.
26
* text eol=lf
37

.github/workflows/build.yml

Lines changed: 105 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
2+
#
3+
# SPDX-License-Identifier: MIT
4+
15
name: Build CI
26

37
on:
@@ -16,25 +20,24 @@ jobs:
1620
env:
1721
GITHUB_CONTEXT: ${{ toJson(github) }}
1822
run: echo "$GITHUB_CONTEXT"
19-
- uses: actions/checkout@v2
23+
- uses: actions/checkout@v2.2.0
2024
with:
2125
submodules: true
2226
fetch-depth: 0
2327
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
24-
- run: git submodule sync
25-
- run: git submodule foreach git remote -v
26-
- run: git submodule foreach git fetch --recurse-submodules=no origin +refs/tags/*:refs/tags/*
2728
- name: CircuitPython version
28-
run: git describe --dirty --tags
29+
run: |
30+
git describe --dirty --tags
31+
echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
2932
- name: Set up Python 3.8
3033
uses: actions/setup-python@v1
3134
with:
3235
python-version: 3.8
3336
- name: Install deps
3437
run: |
3538
sudo apt-get install -y eatmydata
36-
sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64
37-
pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid
39+
sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64 latexmk texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra
40+
pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid isort black awscli mypy
3841
- name: Versions
3942
run: |
4043
gcc --version
@@ -64,35 +67,62 @@ jobs:
6467
- name: mpy Tests
6568
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --via-mpy -d basics float
6669
working-directory: tests
67-
- name: Stubs
68-
run: make stubs -j2
69-
- name: Docs
70-
run: sphinx-build -E -W -b html . _build/html
70+
- name: Build and Validate Stubs
71+
run: make check-stubs -j2
72+
- uses: actions/upload-artifact@v2
73+
with:
74+
name: stubs
75+
path: circuitpython-stubs*
76+
- name: Test Documentation Build (HTML)
77+
run: sphinx-build -E -W -b html -D version=${{ env.CP_VERSION }} -D release=${{ env.CP_VERSION }} . _build/html
78+
- uses: actions/upload-artifact@v2
79+
with:
80+
name: docs
81+
path: _build/html
82+
- name: Test Documentation Build (LaTeX/PDF)
83+
run: |
84+
make latexpdf
85+
- uses: actions/upload-artifact@v2
86+
with:
87+
name: docs
88+
path: _build/latex
7189
- name: Translations
7290
run: make check-translate
7391
- name: New boards check
7492
run: python3 -u ci_new_boards_check.py
7593
working-directory: tools
94+
- name: Duplicate USB VID/PID Check
95+
run: python3 -u -m tools.ci_check_duplicate_usb_vid_pid
7696
- name: Build mpy-cross.static-raspbian
7797
run: make -C mpy-cross -j2 -f Makefile.static-raspbian
78-
- uses: actions/upload-artifact@v1.0.0
98+
- uses: actions/upload-artifact@v2
7999
with:
80100
name: mpy-cross.static-raspbian
81101
path: mpy-cross/mpy-cross.static-raspbian
82-
83102
- name: Build mpy-cross.static
84103
run: make -C mpy-cross -j2 -f Makefile.static
85-
- uses: actions/upload-artifact@v1.0.0
104+
- uses: actions/upload-artifact@v2
86105
with:
87106
name: mpy-cross.static-amd64-linux
88107
path: mpy-cross/mpy-cross.static
89-
90108
- name: Build mpy-cross.static-mingw
91109
run: make -C mpy-cross -j2 -f Makefile.static-mingw
92-
- uses: actions/upload-artifact@v1.0.0
110+
- uses: actions/upload-artifact@v2
93111
with:
94112
name: mpy-cross.static-x64-windows
95113
path: mpy-cross/mpy-cross.static.exe
114+
- name: Upload stubs and mpy-cross builds to S3
115+
run: |
116+
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static-raspbian s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-raspbian-${{ env.CP_VERSION }} --no-progress --region us-east-1
117+
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-amd64-linux-${{ env.CP_VERSION }} --no-progress --region us-east-1
118+
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross.static.exe s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross.static-x64-windows-${{ env.CP_VERSION }}.exe --no-progress --region us-east-1
119+
zip -9r circuitpython-stubs.zip circuitpython-stubs
120+
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp circuitpython-stubs.zip s3://adafruit-circuit-python/bin/stubs/circuitpython-stubs-${{ env.CP_VERSION }}.zip --no-progress --region us-east-1
121+
env:
122+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
123+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
124+
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
125+
96126

97127
mpy-cross-mac:
98128
runs-on: macos-10.15
@@ -101,31 +131,38 @@ jobs:
101131
env:
102132
GITHUB_CONTEXT: ${{ toJson(github) }}
103133
run: echo "$GITHUB_CONTEXT"
104-
- name: Make gettext programs available
134+
- name: Install dependencies
105135
run: |
106136
brew install gettext
107-
echo "::set-env name=PATH::/usr/local/opt/gettext/bin:$PATH"
137+
echo >>$GITHUB_PATH /usr/local/opt/gettext/bin
108138
- name: Versions
109139
run: |
110140
gcc --version
111141
python3 --version
112142
msgfmt --version
113-
- uses: actions/checkout@v2
143+
- uses: actions/checkout@v2.2.0
114144
with:
115145
submodules: true
116146
fetch-depth: 0
117147
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
118-
- run: git submodule sync
119-
- run: git submodule foreach git remote -v
120-
- run: git submodule foreach git fetch --recurse-submodules=no origin +refs/tags/*:refs/tags/*
121148
- name: CircuitPython version
122-
run: git describe --dirty --tags
149+
run: |
150+
git describe --dirty --tags
151+
echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
123152
- name: Build mpy-cross
124153
run: make -C mpy-cross -j2
125-
- uses: actions/upload-artifact@v1.0.0
154+
- uses: actions/upload-artifact@v2
126155
with:
127156
name: mpy-cross-macos-catalina
128157
path: mpy-cross/mpy-cross
158+
- name: Upload mpy-cross build to S3
159+
run: |
160+
[ -z "$AWS_ACCESS_KEY_ID" ] || aws s3 cp mpy-cross/mpy-cross s3://adafruit-circuit-python/bin/mpy-cross/mpy-cross-macos-catalina-${{ env.CP_VERSION }} --no-progress --region us-east-1
161+
env:
162+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
163+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
164+
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
165+
129166

130167
build-arm:
131168
runs-on: ubuntu-18.04
@@ -135,6 +172,7 @@ jobs:
135172
matrix:
136173
board:
137174
- "8086_commander"
175+
- "ADM_B_NRF52840_1"
138176
- "TG-Watch02A"
139177
- "aloriumtech_evo_m51"
140178
- "aramcon_badge_2019"
@@ -144,7 +182,10 @@ jobs:
144182
- "arduino_nano_33_iot"
145183
- "arduino_zero"
146184
- "bast_pro_mini_m0"
147-
- "bdmicro_vina_m0"
185+
- "bdmicro_vina_d21"
186+
- "bdmicro_vina_d51"
187+
- "bless_dev_board_multi_sensor"
188+
- "blm_badge"
148189
- "capablerobot_usbhub"
149190
- "catwan_usbstick"
150191
- "circuitbrains_basic_m0"
@@ -160,6 +201,8 @@ jobs:
160201
- "datum_imu"
161202
- "datum_light"
162203
- "datum_weather"
204+
- "dynossat_edu_eps"
205+
- "dynossat_edu_obc"
163206
- "electronut_labs_blip"
164207
- "electronut_labs_papyr"
165208
- "escornabot_makech"
@@ -173,6 +216,7 @@ jobs:
173216
- "feather_m0_rfm69"
174217
- "feather_m0_rfm9x"
175218
- "feather_m0_supersized"
219+
- "feather_m4_can"
176220
- "feather_m4_express"
177221
- "feather_m7_1011"
178222
- "feather_mimxrt1011"
@@ -186,24 +230,31 @@ jobs:
186230
- "hallowing_m0_express"
187231
- "hallowing_m4_express"
188232
- "hiibot_bluefi"
233+
- "ikigaisense_vita"
189234
- "imxrt1010_evk"
190235
- "imxrt1020_evk"
191236
- "imxrt1060_evk"
192237
- "itsybitsy_m0_express"
193238
- "itsybitsy_m4_express"
194239
- "itsybitsy_nrf52840_express"
195240
- "kicksat-sprite"
241+
- "loc_ber_m4_base_board"
242+
- "makerdiary_m60_keyboard"
243+
- "makerdiary_nrf52840_m2_devkit"
196244
- "makerdiary_nrf52840_mdk"
197245
- "makerdiary_nrf52840_mdk_usb_dongle"
246+
- "matrixportal_m4"
198247
- "meowbit_v121"
199248
- "meowmeow"
200249
- "metro_m0_express"
201250
- "metro_m4_airlift_lite"
202251
- "metro_m4_express"
252+
- "metro_m7_1011"
203253
- "metro_nrf52840_express"
204254
- "mini_sam_m4"
205255
- "monster_m4sk"
206256
- "ndgarage_ndbit6"
257+
- "ndgarage_ndbit6_v2"
207258
- "nfc_copy_cat"
208259
- "nice_nano"
209260
- "nucleo_f746zg"
@@ -220,6 +271,7 @@ jobs:
220271
- "pca10100"
221272
- "pewpew10"
222273
- "pewpew_m4"
274+
- "picoplanet"
223275
- "pirkey_m0"
224276
- "pitaya_go"
225277
- "pyb_nano_v2"
@@ -233,8 +285,13 @@ jobs:
233285
- "pyportal"
234286
- "pyportal_titano"
235287
- "pyruler"
288+
- "qtpy_m0"
289+
- "qtpy_m0_haxpress"
290+
- "raytac_mdbt50q-db-40"
236291
- "robohatmm1_m4"
237292
- "sam32"
293+
- "same54_xplained"
294+
- "seeeduino_wio_terminal"
238295
- "seeeduino_xiao"
239296
- "serpente"
240297
- "shirtty"
@@ -259,6 +316,7 @@ jobs:
259316
- "teensy41"
260317
- "teknikio_bluebird"
261318
- "thunderpack"
319+
- "tinkeringtech_scoutmakes_azul"
262320
- "trellis_m4_express"
263321
- "trinket_m0"
264322
- "trinket_m0_haxpress"
@@ -286,22 +344,19 @@ jobs:
286344
gcc --version
287345
arm-none-eabi-gcc --version
288346
python3 --version
289-
- uses: actions/checkout@v2
347+
- uses: actions/checkout@v2.2.0
290348
with:
291349
submodules: true
292350
fetch-depth: 0
293351
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
294-
- run: git submodule sync
295-
- run: git submodule foreach git remote -v
296-
- run: git submodule foreach git fetch --recurse-submodules=no origin +refs/tags/*:refs/tags/*
297352
- name: mpy-cross
298353
run: make -C mpy-cross -j2
299354
- name: build
300355
run: python3 -u build_release_files.py
301356
working-directory: tools
302357
env:
303358
BOARDS: ${{ matrix.board }}
304-
- uses: actions/upload-artifact@v1.0.0
359+
- uses: actions/upload-artifact@v2
305360
with:
306361
name: ${{ matrix.board }}
307362
path: bin/${{ matrix.board }}
@@ -337,22 +392,19 @@ jobs:
337392
gcc --version
338393
riscv64-unknown-elf-gcc --version
339394
python3 --version
340-
- uses: actions/checkout@v2
395+
- uses: actions/checkout@v2.2.0
341396
with:
342397
submodules: true
343398
fetch-depth: 0
344399
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
345-
- run: git submodule sync
346-
- run: git submodule foreach git remote -v
347-
- run: git submodule foreach git fetch --recurse-submodules=no origin +refs/tags/*:refs/tags/*
348400
- name: mpy-cross
349401
run: make -C mpy-cross -j2
350402
- name: build
351403
run: python3 -u build_release_files.py
352404
working-directory: tools
353405
env:
354406
BOARDS: ${{ matrix.board }}
355-
- uses: actions/upload-artifact@v1.0.0
407+
- uses: actions/upload-artifact@v2
356408
with:
357409
name: ${{ matrix.board }}
358410
path: bin/${{ matrix.board }}
@@ -369,30 +421,42 @@ jobs:
369421
fail-fast: false
370422
matrix:
371423
board:
424+
- "adafruit_magtag_2.9_grayscale"
425+
- "adafruit_metro_esp32s2"
426+
- "electroniccats_bastwifi"
427+
- "espressif_kaluga_1"
372428
- "espressif_saola_1_wroom"
373429
- "espressif_saola_1_wrover"
430+
- "microdev_micro_s2"
431+
- "muselab_nanoesp32_s2"
432+
- "targett_module_clip_wroom"
433+
- "targett_module_clip_wrover"
434+
- "unexpectedmaker_feathers2"
435+
- "unexpectedmaker_feathers2_prerelease"
374436

375437
steps:
376438
- name: Set up Python 3.8
377439
uses: actions/setup-python@v1
378440
with:
379441
python-version: 3.8
380-
- uses: actions/checkout@v2
442+
- uses: actions/checkout@v2.2.0
381443
with:
382444
submodules: true
383445
fetch-depth: 0
384446
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
385-
- run: git submodule sync
386-
- run: git submodule foreach git remote -v
387-
- run: git submodule foreach git fetch --recurse-submodules=no origin +refs/tags/*:refs/tags/*
388447
- name: CircuitPython version
389448
run: git describe --dirty --tags
390449
- uses: actions/cache@v1
391450
name: Fetch IDF tool cache
392451
id: idf-cache
393452
with:
394453
path: ${{ github.workspace }}/.idf_tools
395-
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20200523
454+
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20200801
455+
- name: Clone IDF submodules
456+
run: |
457+
(cd $IDF_PATH && git submodule update --init)
458+
env:
459+
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
396460
- name: Install IDF tools
397461
run: |
398462
$IDF_PATH/tools/idf_tools.py --non-interactive install required
@@ -434,7 +498,7 @@ jobs:
434498
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
435499
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
436500
BOARDS: ${{ matrix.board }}
437-
- uses: actions/upload-artifact@v1.0.0
501+
- uses: actions/upload-artifact@v2
438502
with:
439503
name: ${{ matrix.board }}
440504
path: bin/${{ matrix.board }}

.github/workflows/create_website_pr.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# SPDX-FileCopyrightText: 2014 MicroPython & CircuitPython contributors (https://github.com/adafruit/circuitpython/graphs/contributors)
2+
#
3+
# SPDX-License-Identifier: MIT
4+
15
name: Update CircuitPython.org
26

37
on:
@@ -23,12 +27,11 @@ jobs:
2327
run: |
2428
gcc --version
2529
python3 --version
26-
- uses: actions/checkout@v2
30+
- uses: actions/checkout@v2.2.0
2731
with:
2832
submodules: true
2933
fetch-depth: 0
3034
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
31-
- run: git submodule foreach git fetch --recurse-submodules=no origin +refs/tags/*:refs/tags/*
3235
- name: CircuitPython version
3336
run: git describe --dirty --tags
3437
- name: Website

0 commit comments

Comments
 (0)