20
20
boards-arm : ${{ steps.set-matrix.outputs.boards-arm }}
21
21
boards-riscv : ${{ steps.set-matrix.outputs.boards-riscv }}
22
22
boards-espressif : ${{ steps.set-matrix.outputs.boards-espressif }}
23
+ boards-aarch : ${{ steps.set-matrix.outputs.boards-aarch }}
23
24
steps :
24
25
- name : Dump GitHub context
25
26
env :
@@ -28,19 +29,17 @@ jobs:
28
29
29
30
with :
30
31
submodules : false
31
- fetch-depth : 0
32
- - name : Populate selected submodules
33
- run : git submodule update --init extmod/ lib/ tools/
34
- - name : Fetch tags
35
- run : git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
36
- - name : CircuitPython version
37
- run : |
38
- git describe --dirty --tags
39
- echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
32
+ fetch-depth : 1
40
33
- name : Set up Python 3.8
41
34
uses : actions/setup-python@v1
42
35
with :
43
36
python-version : 3.8
37
+ - name : Get CP deps
38
+ run : python tools/ci_fetch_deps.py test ${{ github.ref }}
39
+ - name : CircuitPython version
40
+ run : |
41
+ git describe --dirty --tags || git log --parents HEAD~4..
42
+ echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
44
43
- name : Install dependencies
45
44
run : |
46
45
sudo apt-get update
@@ -136,19 +135,17 @@ jobs:
136
135
137
136
with :
138
137
submodules : false
139
- fetch-depth : 0
140
- - name : Populate selected submodules
141
- run : git submodule update --init extmod/ lib/ tools/
142
- - name : Fetch tags
143
- run : git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
144
- - name : CircuitPython version
145
- run : |
146
- git describe --dirty --tags
147
- echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
138
+ fetch-depth : 1
148
139
- name : Set up Python 3.8
149
140
uses : actions/setup-python@v1
150
141
with :
151
142
python-version : 3.8
143
+ - name : Get CP deps
144
+ run : python tools/ci_fetch_deps.py mpy-cross-mac ${{ github.ref }}
145
+ - name : CircuitPython version
146
+ run : |
147
+ git describe --dirty --tags
148
+ echo >>$GITHUB_ENV CP_VERSION=$(git describe --dirty --tags)
152
149
- name : Install dependencies
153
150
run : |
154
151
brew install gettext
@@ -198,11 +195,9 @@ jobs:
198
195
199
196
with :
200
197
submodules : false
201
- fetch-depth : 0
202
- - name : Populate selected submodules
203
- run : git submodule update --init extmod/
204
- - name : Fetch tags
205
- run : git fetch --recurse-submodules=no https://github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
198
+ fetch-depth : 1
199
+ - name : Get CP deps
200
+ run : python tools/ci_fetch_deps.py docs ${{ github.ref }}
206
201
- name : CircuitPython version
207
202
run : |
208
203
git describe --dirty --tags
@@ -271,10 +266,10 @@ jobs:
271
266
python-version : 3.8
272
267
273
268
with :
274
- submodules : true
275
- fetch-depth : 0
276
- - name : Fetch tags
277
- run : git fetch --recurse-submodules=no https:// github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
269
+ submodules : false
270
+ fetch-depth : 1
271
+ - name : Get CP deps
272
+ run : python tools/ci_fetch_deps.py ${{ matrix.board }} ${{ github.ref }}
278
273
- name : Install dependencies
279
274
run : |
280
275
sudo apt-get install -y gettext
@@ -323,10 +318,10 @@ jobs:
323
318
python-version : 3.8
324
319
325
320
with :
326
- submodules : true
327
- fetch-depth : 0
328
- - name : Fetch tags
329
- run : git fetch --recurse-submodules=no https:// github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
321
+ submodules : false
322
+ fetch-depth : 1
323
+ - name : Get CP deps
324
+ run : python tools/ci_fetch_deps.py ${{ matrix.board }} ${{ github.ref }}
330
325
- name : Install dependencies
331
326
run : |
332
327
sudo apt-get install -y gettext
@@ -375,10 +370,10 @@ jobs:
375
370
python-version : 3.8
376
371
377
372
with :
378
- submodules : true
379
- fetch-depth : 0
380
- - name : Fetch tags
381
- run : git fetch --recurse-submodules=no https:// github.com/adafruit/circuitpython refs/tags/*:refs/tags/*
373
+ submodules : false
374
+ fetch-depth : 1
375
+ - name : Get CP deps
376
+ run : python tools/ci_fetch_deps.py ${{ matrix.board }} ${{ github.ref }}
382
377
- name : CircuitPython version
383
378
run : git describe --dirty --tags
384
379
- uses : actions/cache@v2
@@ -446,3 +441,67 @@ jobs:
446
441
AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
447
442
AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
448
443
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'))
444
+
445
+ build-aarch :
446
+ runs-on : ubuntu-20.04
447
+ needs : test
448
+ strategy :
449
+ fail-fast : false
450
+ matrix :
451
+ board : ${{ fromJSON(needs.test.outputs.boards-aarch) }}
452
+ if : ${{ needs.test.outputs.boards-aarch != '[]' }}
453
+ steps :
454
+ - name : Set up Python 3.8
455
+ uses : actions/setup-python@v1
456
+ with :
457
+ python-version : 3.8
458
+
459
+ with :
460
+ submodules : false
461
+ fetch-depth : 1
462
+ - name : Get CP deps
463
+ run : python tools/ci_fetch_deps.py ${{ matrix.board }} ${{ github.ref }}
464
+ - name : Install dependencies
465
+ run : |
466
+ sudo apt-get install -y gettext mtools
467
+ pip install -r requirements-ci.txt -r requirements-dev.txt
468
+ wget --no-verbose https://adafruit-circuit-python.s3.amazonaws.com/gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz
469
+ sudo tar -C /usr --strip-components=1 -xaf gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf.tar.xz
470
+ wget --no-verbose https://adafruit-circuit-python.s3.amazonaws.com/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
471
+ sudo tar -C /usr --strip-components=1 -xaf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
472
+ - name : Install mkfs.fat
473
+ run : |
474
+ wget https://github.com/dosfstools/dosfstools/releases/download/v4.2/dosfstools-4.2.tar.gz
475
+ tar -xaf dosfstools-4.2.tar.gz
476
+ cd dosfstools-4.2
477
+ ./configure
478
+ make -j 2
479
+ cd src
480
+ echo >>$GITHUB_PATH $(pwd)
481
+ - name : Versions
482
+ run : |
483
+ gcc --version
484
+ aarch64-none-elf-gcc --version
485
+ arm-none-eabi-gcc --version
486
+ python3 --version
487
+ mkfs.fat --version || true
488
+ - name : mpy-cross
489
+ run : make -C mpy-cross -j2
490
+ - name : Setup build failure matcher
491
+ run : echo "::add-matcher::$GITHUB_WORKSPACE/.github/workflows/match-build-fail.json"
492
+ - name : build
493
+ run : python3 -u build_release_files.py
494
+ working-directory : tools
495
+ env :
496
+ BOARDS : ${{ matrix.board }}
497
+ - uses : actions/upload-artifact@v2
498
+ with :
499
+ name : ${{ matrix.board }}
500
+ path : bin/${{ matrix.board }}
501
+ - name : Upload to S3
502
+ run : " [ -z \" $AWS_ACCESS_KEY_ID\" ] || aws s3 cp bin/ s3://adafruit-circuit-python/bin/ --recursive --no-progress --region us-east-1"
503
+ env :
504
+ AWS_PAGER : ' '
505
+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
506
+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
507
+ 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'))
0 commit comments