@@ -18,16 +18,11 @@ concurrency:
1818
1919jobs :
2020 scheduler :
21- runs-on : ubuntu-20 .04
21+ runs-on : ubuntu-22 .04
2222 outputs :
23- build-doc : ${{ steps.set-matrix.outputs.build-doc }}
24- build-boards : ${{ steps.set-matrix.outputs.build-boards }}
25- build-windows : ${{ steps.set-matrix.outputs.build-windows }}
26- boards-aarch : ${{ steps.set-matrix.outputs.boards-aarch }}
27- boards-arm : ${{ steps.set-matrix.outputs.boards-arm }}
28- boards-atmel : ${{ steps.set-matrix.outputs.boards-atmel }}
29- boards-esp : ${{ steps.set-matrix.outputs.boards-esp }}
30- boards-riscv : ${{ steps.set-matrix.outputs.boards-riscv }}
23+ docs : ${{ steps.set-matrix.outputs.docs }}
24+ ports : ${{ steps.set-matrix.outputs.ports }}
25+ windows : ${{ steps.set-matrix.outputs.windows }}
3126 cp-version : ${{ steps.set-up-submodules.outputs.version }}
3227 steps :
3328 - name : Dump GitHub context
9994
10095 mpy-cross :
10196 needs : scheduler
102- if : needs.scheduler.outputs.build-boards == 'True '
97+ if : needs.scheduler.outputs.ports != '{} '
10398 uses : ./.github/workflows/build-mpy-cross.yml
10499 secrets : inherit
105100 with :
@@ -108,7 +103,7 @@ jobs:
108103 mpy-cross-mac :
109104 runs-on : macos-11
110105 needs : scheduler
111- if : needs.scheduler.outputs.build-boards == 'True '
106+ if : needs.scheduler.outputs.ports != '{} '
112107 env :
113108 CP_VERSION : ${{ needs.scheduler.outputs.cp-version }}
114109 steps :
@@ -160,10 +155,10 @@ jobs:
160155 AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
161156 AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
162157
163- build-doc :
158+ docs :
164159 runs-on : ubuntu-22.04
165160 needs : scheduler
166- if : needs.scheduler.outputs.build-doc == 'True'
161+ if : needs.scheduler.outputs.docs == 'True'
167162 env :
168163 CP_VERSION : ${{ needs.scheduler.outputs.cp-version }}
169164 steps :
@@ -218,10 +213,10 @@ jobs:
218213 [ -z "$TWINE_USERNAME" ] || echo "Uploading dev release to PyPi"
219214 [ -z "$TWINE_USERNAME" ] || twine upload circuitpython-stubs/dist/*
220215
221- build- windows :
216+ windows :
222217 runs-on : windows-2022
223218 needs : scheduler
224- if : needs.scheduler.outputs.build- windows == 'True'
219+ if : needs.scheduler.outputs.windows == 'True'
225220 env :
226221 CP_VERSION : ${{ needs.scheduler.outputs.cp-version }}
227222 defaults :
@@ -286,52 +281,15 @@ jobs:
286281 # ERROR: Platform MINGW64_NT-10.0-17763-x86_64 appears to be unsupported
287282 # https://github.com/espressif/esp-idf/issues/7062
288283
289- aarch :
290- needs : [scheduler, mpy-cross, tests]
291- if : ${{ needs.scheduler.outputs.boards-aarch != '[]' }}
292- uses : ./.github/workflows/build-boards.yml
293- secrets : inherit
294- with :
295- platform : aarch
296- boards : ${{ needs.scheduler.outputs.boards-aarch }}
297- cp-version : ${{ needs.scheduler.outputs.cp-version }}
298-
299- arm :
300- needs : [scheduler, mpy-cross, tests]
301- if : ${{ needs.scheduler.outputs.boards-arm != '[]' }}
302- uses : ./.github/workflows/build-boards.yml
303- secrets : inherit
304- with :
305- platform : arm
306- boards : ${{ needs.scheduler.outputs.boards-arm }}
307- cp-version : ${{ needs.scheduler.outputs.cp-version }}
308-
309- atmel :
310- needs : [scheduler, mpy-cross, tests]
311- if : ${{ needs.scheduler.outputs.boards-atmel != '[]' }}
312- uses : ./.github/workflows/build-boards.yml
313- secrets : inherit
314- with :
315- platform : arm
316- boards : ${{ needs.scheduler.outputs.boards-atmel }}
317- cp-version : ${{ needs.scheduler.outputs.cp-version }}
318-
319- esp :
320- needs : [scheduler, mpy-cross, tests]
321- if : ${{ needs.scheduler.outputs.boards-esp != '[]' }}
322- uses : ./.github/workflows/build-boards.yml
323- secrets : inherit
324- with :
325- platform : esp
326- boards : ${{ needs.scheduler.outputs.boards-esp }}
327- cp-version : ${{ needs.scheduler.outputs.cp-version }}
328-
329- riscv :
284+ ports :
330285 needs : [scheduler, mpy-cross, tests]
331- if : ${{ needs.scheduler.outputs.boards-riscv != '[]' }}
286+ if : needs.scheduler.outputs.ports != '{}'
332287 uses : ./.github/workflows/build-boards.yml
333288 secrets : inherit
289+ strategy :
290+ fail-fast : false
291+ matrix :
292+ port : ${{ fromJSON(needs.scheduler.outputs.ports).ports }}
334293 with :
335- platform : riscv
336- boards : ${{ needs.scheduler.outputs.boards-riscv }}
294+ boards : ${{ toJSON(fromJSON(needs.scheduler.outputs.ports)[matrix.port]) }}
337295 cp-version : ${{ needs.scheduler.outputs.cp-version }}
0 commit comments