2020 scheduler :
2121 runs-on : ubuntu-20.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+ boards : ${{ steps.set-matrix.outputs.boards }}
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.boards != '{} '
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.boards != '{} '
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,14 @@ 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 :
284+ boards :
290285 needs : [scheduler, mpy-cross, tests]
291- if : ${{ needs.scheduler.outputs.boards-aarch != '[]' }}
286+ if : needs.scheduler.outputs.boards != '{}'
292287 uses : ./.github/workflows/build-boards.yml
293288 secrets : inherit
289+ strategy :
290+ matrix :
291+ port : ${{ fromJSON(needs.scheduler.outputs.boards).ports }}
294292 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 :
330- needs : [scheduler, mpy-cross, tests]
331- if : ${{ needs.scheduler.outputs.boards-riscv != '[]' }}
332- uses : ./.github/workflows/build-boards.yml
333- secrets : inherit
334- with :
335- platform : riscv
336- boards : ${{ needs.scheduler.outputs.boards-riscv }}
293+ boards : ${{ toJSON(fromJSON(needs.scheduler.outputs.boards)[matrix.port]) }}
337294 cp-version : ${{ needs.scheduler.outputs.cp-version }}
0 commit comments