Skip to content

Commit c33542f

Browse files
authored
Merge branch 'main' into patch-1
2 parents f572b72 + eec42d4 commit c33542f

File tree

1,343 files changed

+101167
-23281
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,343 files changed

+101167
-23281
lines changed

.github/workflows/build.yml

Lines changed: 190 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,32 @@ on:
1010

1111
jobs:
1212
test:
13-
runs-on: ubuntu-16.04
13+
runs-on: ubuntu-18.04
1414
steps:
1515
- name: Dump GitHub context
1616
env:
1717
GITHUB_CONTEXT: ${{ toJson(github) }}
1818
run: echo "$GITHUB_CONTEXT"
19-
- name: Set up Python 3.5
19+
- uses: actions/[email protected]
20+
with:
21+
submodules: true
22+
fetch-depth: 0
23+
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
24+
- name: CircuitPython version
25+
run: git describe --dirty --tags
26+
- name: Set up Python 3.8
2027
uses: actions/setup-python@v1
2128
with:
22-
python-version: 3.5
29+
python-version: 3.8
2330
- name: Install deps
2431
run: |
2532
sudo apt-get install -y eatmydata
2633
sudo eatmydata apt-get install -y gettext librsvg2-bin mingw-w64
27-
pip install requests sh click setuptools cpp-coveralls Sphinx sphinx-rtd-theme recommonmark sphinxcontrib-svg2pdfconverter polib pyyaml
34+
pip install requests sh click setuptools cpp-coveralls "Sphinx<4" sphinx-rtd-theme recommonmark sphinx-autoapi sphinxcontrib-svg2pdfconverter polib pyyaml astroid
2835
- name: Versions
2936
run: |
3037
gcc --version
3138
python3 --version
32-
- uses: actions/checkout@v1
33-
with:
34-
submodules: true
35-
- name: CircuitPython version
36-
run: git describe --dirty --always --tags
3739
- name: Build mpy-cross
3840
run: make -C mpy-cross -j2
3941
- name: Build unix port
@@ -42,7 +44,7 @@ jobs:
4244
make -C ports/unix -j2
4345
make -C ports/unix coverage -j2
4446
- name: Test all
45-
run: MICROPY_CPYTHON3=python3.5 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1
47+
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1
4648
working-directory: tests
4749
- name: Print failure info
4850
run: |
@@ -54,19 +56,28 @@ jobs:
5456
working-directory: tests
5557
if: failure()
5658
- name: Native Tests
57-
run: MICROPY_CPYTHON3=python3.5 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --emit native
59+
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --emit native
5860
working-directory: tests
5961
- name: mpy Tests
60-
run: MICROPY_CPYTHON3=python3.5 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --via-mpy -d basics float
62+
run: MICROPY_CPYTHON3=python3.8 MICROPY_MICROPYTHON=../ports/unix/micropython_coverage ./run-tests -j1 --via-mpy -d basics float
6163
working-directory: tests
64+
- name: Stubs
65+
run: make stubs -j2
66+
- uses: actions/upload-artifact@v2
67+
with:
68+
name: stubs
69+
path: circuitpython-stubs*
6270
- name: Docs
6371
run: sphinx-build -E -W -b html . _build/html
72+
- uses: actions/upload-artifact@v2
73+
with:
74+
name: docs
75+
path: _build/html
6476
- name: Translations
6577
run: make check-translate
6678
- name: New boards check
6779
run: python3 -u ci_new_boards_check.py
6880
working-directory: tools
69-
7081
- name: Build mpy-cross.static-raspbian
7182
run: make -C mpy-cross -j2 -f Makefile.static-raspbian
7283
- uses: actions/[email protected]
@@ -89,25 +100,28 @@ jobs:
89100
path: mpy-cross/mpy-cross.static.exe
90101

91102
mpy-cross-mac:
92-
runs-on: macos-latest
103+
runs-on: macos-10.15
93104
steps:
94105
- name: Dump GitHub context
95106
env:
96107
GITHUB_CONTEXT: ${{ toJson(github) }}
97108
run: echo "$GITHUB_CONTEXT"
98-
- name: Install deps
109+
- name: Make gettext programs available
99110
run: |
100-
brew link --force gettext
111+
brew install gettext
112+
echo "::set-env name=PATH::/usr/local/opt/gettext/bin:$PATH"
101113
- name: Versions
102114
run: |
103115
gcc --version
104116
python3 --version
105117
msgfmt --version
106-
- uses: actions/checkout@v1
118+
- uses: actions/checkout@v2.2.0
107119
with:
108120
submodules: true
121+
fetch-depth: 0
122+
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
109123
- name: CircuitPython version
110-
run: git describe --dirty --always --tags
124+
run: git describe --dirty --tags
111125
- name: Build mpy-cross
112126
run: make -C mpy-cross -j2
113127
- uses: actions/[email protected]
@@ -116,19 +130,23 @@ jobs:
116130
path: mpy-cross/mpy-cross
117131

118132
build-arm:
119-
runs-on: ubuntu-16.04
133+
runs-on: ubuntu-18.04
120134
needs: test
121135
strategy:
122136
fail-fast: false
123137
matrix:
124138
board:
139+
- "8086_commander"
140+
- "TG-Watch02A"
141+
- "aloriumtech_evo_m51"
125142
- "aramcon_badge_2019"
126143
- "arduino_mkr1300"
127144
- "arduino_mkrzero"
128145
- "arduino_nano_33_ble"
129146
- "arduino_nano_33_iot"
130147
- "arduino_zero"
131148
- "bast_pro_mini_m0"
149+
- "bdmicro_vina_m0"
132150
- "capablerobot_usbhub"
133151
- "catwan_usbstick"
134152
- "circuitbrains_basic_m0"
@@ -164,17 +182,20 @@ jobs:
164182
- "feather_nrf52840_express"
165183
- "feather_radiofruit_zigbee"
166184
- "feather_stm32f405_express"
185+
- "fluff_m0"
167186
- "gemma_m0"
168187
- "grandcentral_m4_express"
169188
- "hallowing_m0_express"
170189
- "hallowing_m4_express"
190+
- "hiibot_bluefi"
171191
- "imxrt1010_evk"
172192
- "imxrt1020_evk"
173193
- "imxrt1060_evk"
174194
- "itsybitsy_m0_express"
175195
- "itsybitsy_m4_express"
176196
- "itsybitsy_nrf52840_express"
177197
- "kicksat-sprite"
198+
- "loc_ber_m4_base_board"
178199
- "makerdiary_nrf52840_mdk"
179200
- "makerdiary_nrf52840_mdk_usb_dongle"
180201
- "meowbit_v121"
@@ -186,31 +207,43 @@ jobs:
186207
- "mini_sam_m4"
187208
- "monster_m4sk"
188209
- "ndgarage_ndbit6"
210+
- "nfc_copy_cat"
211+
- "nice_nano"
212+
- "nucleo_f746zg"
213+
- "nucleo_f767zi"
214+
- "nucleo_h743zi_2"
189215
- "ohs2020_badge"
190216
- "openbook_m4"
217+
- "openmv_h7"
191218
- "particle_argon"
192219
- "particle_boron"
193220
- "particle_xenon"
194221
- "pca10056"
195222
- "pca10059"
223+
- "pca10100"
196224
- "pewpew10"
197225
- "pewpew_m4"
198226
- "pirkey_m0"
227+
- "pitaya_go"
199228
- "pyb_nano_v2"
200229
- "pybadge"
201230
- "pybadge_airlift"
202231
- "pyboard_v11"
203232
- "pycubed"
233+
- "pycubed_mram"
204234
- "pygamer"
205235
- "pygamer_advance"
206236
- "pyportal"
207237
- "pyportal_titano"
208238
- "pyruler"
209239
- "robohatmm1_m4"
210240
- "sam32"
241+
- "same54_xplained"
242+
- "seeeduino_wio_terminal"
211243
- "seeeduino_xiao"
212244
- "serpente"
213245
- "shirtty"
246+
- "simmel"
214247
- "snekboard"
215248
- "sparkfun_lumidrive"
216249
- "sparkfun_nrf52840_mini"
@@ -225,23 +258,28 @@ jobs:
225258
- "stm32f411ve_discovery"
226259
- "stm32f412zg_discovery"
227260
- "stm32f4_discovery"
261+
- "stm32f746g_discovery"
228262
- "stringcar_m0_express"
229263
- "teensy40"
264+
- "teensy41"
230265
- "teknikio_bluebird"
266+
- "thunderpack"
231267
- "trellis_m4_express"
232268
- "trinket_m0"
233269
- "trinket_m0_haxpress"
270+
- "uartlogger2"
234271
- "uchip"
235272
- "ugame10"
273+
- "winterbloom_big_honking_button"
236274
- "winterbloom_sol"
237275
- "xinabox_cc03"
238276
- "xinabox_cs11"
239277

240278
steps:
241-
- name: Set up Python 3.5
279+
- name: Set up Python 3.8
242280
uses: actions/setup-python@v1
243281
with:
244-
python-version: 3.5
282+
python-version: 3.8
245283
- name: Install deps
246284
run: |
247285
sudo apt-get install -y gettext
@@ -253,9 +291,11 @@ jobs:
253291
gcc --version
254292
arm-none-eabi-gcc --version
255293
python3 --version
256-
- uses: actions/checkout@v1
294+
- uses: actions/checkout@v2.2.0
257295
with:
258296
submodules: true
297+
fetch-depth: 0
298+
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
259299
- name: mpy-cross
260300
run: make -C mpy-cross -j2
261301
- name: build
@@ -273,3 +313,131 @@ jobs:
273313
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
274314
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
275315
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
316+
317+
build-riscv:
318+
runs-on: ubuntu-18.04
319+
needs: test
320+
strategy:
321+
fail-fast: false
322+
matrix:
323+
board:
324+
- "fomu"
325+
326+
steps:
327+
- name: Set up Python 3.8
328+
uses: actions/setup-python@v1
329+
with:
330+
python-version: 3.8
331+
- name: Install deps
332+
run: |
333+
sudo apt-get install -y gettext
334+
pip install requests sh click setuptools awscli
335+
wget https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
336+
sudo tar -C /usr --strip-components=1 -xaf riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-centos6.tar.gz
337+
- name: Versions
338+
run: |
339+
gcc --version
340+
riscv64-unknown-elf-gcc --version
341+
python3 --version
342+
- uses: actions/[email protected]
343+
with:
344+
submodules: true
345+
fetch-depth: 0
346+
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
347+
- name: mpy-cross
348+
run: make -C mpy-cross -j2
349+
- name: build
350+
run: python3 -u build_release_files.py
351+
working-directory: tools
352+
env:
353+
BOARDS: ${{ matrix.board }}
354+
- uses: actions/[email protected]
355+
with:
356+
name: ${{ matrix.board }}
357+
path: bin/${{ matrix.board }}
358+
- name: Upload to S3
359+
run: "[ -z \"$AWS_ACCESS_KEY_ID\" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1"
360+
env:
361+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
362+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
363+
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))
364+
build-xtensa:
365+
runs-on: ubuntu-latest
366+
needs: test
367+
strategy:
368+
fail-fast: false
369+
matrix:
370+
board:
371+
- "espressif_saola_1_wroom"
372+
- "espressif_saola_1_wrover"
373+
- "unexpectedmaker_feathers2"
374+
375+
steps:
376+
- name: Set up Python 3.8
377+
uses: actions/setup-python@v1
378+
with:
379+
python-version: 3.8
380+
- uses: actions/[email protected]
381+
with:
382+
submodules: true
383+
fetch-depth: 0
384+
- run: git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
385+
- name: CircuitPython version
386+
run: git describe --dirty --tags
387+
- uses: actions/cache@v1
388+
name: Fetch IDF tool cache
389+
id: idf-cache
390+
with:
391+
path: ${{ github.workspace }}/.idf_tools
392+
key: ${{ runner.os }}-idf-tools-${{ hashFiles('.git/modules/ports/esp32s2/esp-idf/HEAD') }}-20200523
393+
- name: Install IDF tools
394+
run: |
395+
$IDF_PATH/tools/idf_tools.py --non-interactive install required
396+
$IDF_PATH/tools/idf_tools.py --non-interactive install cmake
397+
$IDF_PATH/tools/idf_tools.py --non-interactive install-python-env
398+
rm -rf $IDF_TOOLS_PATH/dist
399+
env:
400+
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
401+
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
402+
- name: Install CircuitPython deps
403+
run: |
404+
source $IDF_PATH/export.sh
405+
pip install requests sh click setuptools awscli
406+
sudo apt-get install -y gettext ninja-build
407+
env:
408+
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
409+
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
410+
- name: Versions
411+
run: |
412+
source $IDF_PATH/export.sh
413+
gcc --version
414+
xtensa-esp32s2-elf-gcc --version
415+
python3 --version
416+
ninja --version
417+
cmake --version
418+
shell: bash
419+
env:
420+
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
421+
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
422+
- name: mpy-cross
423+
run: make -C mpy-cross -j2
424+
- name: build
425+
run: |
426+
source $IDF_PATH/export.sh
427+
python3 -u build_release_files.py
428+
working-directory: tools
429+
shell: bash
430+
env:
431+
IDF_PATH: ${{ github.workspace }}/ports/esp32s2/esp-idf
432+
IDF_TOOLS_PATH: ${{ github.workspace }}/.idf_tools
433+
BOARDS: ${{ matrix.board }}
434+
- uses: actions/[email protected]
435+
with:
436+
name: ${{ matrix.board }}
437+
path: bin/${{ matrix.board }}
438+
- name: Upload to S3
439+
run: "[ -z \"$AWS_ACCESS_KEY_ID\" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1"
440+
env:
441+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
442+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
443+
if: github.event_name == 'push' || (github.event_name == 'release' && (github.event.action == 'published' || github.event.action == 'rerequested'))

0 commit comments

Comments
 (0)