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