1515 outputs :
1616 CORE_TAG : ${{ env.CORE_TAG }}
1717 CORE_ARTIFACT : ${{ env.CORE_ARTIFACT }}
18- BOARD_NAMES : ${{ env.BOARD_NAMES }}
18+ BOARD_VARIANTS : ${{ env.BOARD_VARIANTS }}
1919 steps :
2020 - name : Install toolchain
2121 working-directory : /opt
@@ -30,17 +30,17 @@ jobs:
3030 fetch-depth : 0
3131 persist-credentials : false
3232
33+ - name : ccache
34+ uses : hendrikmuhs/ccache-action@v1.2
35+ with :
36+ verbose : 1
37+
3338 - name : Initialize
3439 run : |
3540 ./extra/bootstrap.sh -o=--filter=tree:0
3641 echo "CORE_TAG=$(git describe --always)" >> "$GITHUB_ENV"
3742 echo "CORE_ARTIFACT=ArduinoCore-zephyr-$(git describe --always)" >> "$GITHUB_ENV"
38- echo "BOARD_NAMES=[ $(cat boards.txt | grep '^[^#]*\.build\.variant' | cut -d '.' -f 1 | xargs printf '"%s",' | sed -e 's/,$//') ]" >> "$GITHUB_ENV"
39-
40- - name : ccache
41- uses : hendrikmuhs/ccache-action@v1.2
42- with :
43- verbose : 1
43+ echo "BOARD_VARIANTS=[ $(cat boards.txt | grep '^[^#]*\.build\.variant' | sed -e 's/^\([^#]*\)\.build\.variant=\(.*\)/{ variant: \"\2\", board: \"\1\" }/' | sort | xargs printf '%s,' | sed -e 's/,$//') ]" >> "$GITHUB_ENV"
4444
4545 - name : Build variants
4646 run : |
6262 runs-on : ubuntu-latest
6363 needs : package-core
6464 strategy :
65- matrix :
66- board : ${{ fromJSON( needs.package-core.outputs.BOARD_NAMES ) }}
65+ matrix : ${{ fromJSON( needs.package-core.outputs.BOARD_VARIANTS ) }}
6766 fail-fast : false
6867 env :
6968 FQBN : arduino:zephyr:${{ matrix.board }}
@@ -137,7 +136,7 @@ jobs:
137136 - test-core
138137 if : ${{ !cancelled() && needs.package-core.result == 'success' }}
139138 env :
140- BOARD_NAMES : ${{ needs.package-core.outputs.BOARD_NAMES }}
139+ BOARD_VARIANTS : ${{ needs.package-core.outputs.BOARD_VARIANTS }}
141140 steps :
142141 - uses : actions/download-artifact@v4
143142 with :
@@ -147,29 +146,33 @@ jobs:
147146
148147 - run : |
149148 echo "### Core test results:" >> "$GITHUB_STEP_SUMMARY"
150- for BOARD in $(echo $BOARD_NAMES | jq -cr '.[]'); do
149+ for BOARD_VARIANT in $(echo $BOARD_VARIANTS | jq -cr '.[]'); do
150+ BOARD=$(echo $BOARD_VARIANT | jq -cr '.board')
151+ VARIANT=$(echo $BOARD_VARIANT | jq -cr '.variant')
151152 FQBN="arduino:zephyr:$BOARD"
152153 REPORT_FILE="arduino-zephyr-$BOARD.json"
153154 if [ ! -f $REPORT_FILE ]; then
154- echo ":x: $BOARD - No report found?" >> "$GITHUB_STEP_SUMMARY"
155+ echo "* :x: $BOARD ($VARIANT) - No report found?" >> "$GITHUB_STEP_SUMMARY"
155156 else
156157 REPORT=$(jq -cr '.boards[0].sketches[0]' $REPORT_FILE)
157158 JOB_ID=$(echo $REPORT | jq -cr '.job_id')
158159 JOB_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}/job/${JOB_ID}#step:5:2"
159160 if ! $(echo $REPORT | jq -cr '.compilation_success') ; then
160- echo ":x: [$BOARD]($JOB_URL) - **Build failed**" >> "$GITHUB_STEP_SUMMARY"
161+ echo "* :x: [$BOARD ($VARIANT) ]($JOB_URL) - **Build failed**" >> "$GITHUB_STEP_SUMMARY"
161162 else
162163 WARNINGS=$(echo $REPORT | jq -cr '.warnings.current.absolute // 0')
163164 if [ $WARNINGS -eq 0 ]; then
164- echo ":white_check_mark: [$BOARD]($JOB_URL) - Build successful" >> "$GITHUB_STEP_SUMMARY"
165+ echo "* :white_check_mark: [$BOARD ($VARIANT) ]($JOB_URL) - Build successful" >> "$GITHUB_STEP_SUMMARY"
165166 else
166- echo "<details><summary>:warning: <a href=\"$JOB_URL\">$BOARD</a> - $WARNINGS warnings:</summary>" >> "$GITHUB_STEP_SUMMARY"
167+ echo >> "$GITHUB_STEP_SUMMARY"
168+ echo "<details><summary>:warning: <a href=\"$JOB_URL\">$BOARD ($VARIANT)</a> - $WARNINGS warnings:</summary>" >> "$GITHUB_STEP_SUMMARY"
167169 echo >> "$GITHUB_STEP_SUMMARY"
168170 echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
169171 echo $REPORT | jq -cr '.warnings_log[]' >> "$GITHUB_STEP_SUMMARY"
170172 echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
171173 echo >> "$GITHUB_STEP_SUMMARY"
172174 echo "</details>" >> "$GITHUB_STEP_SUMMARY"
175+ echo >> "$GITHUB_STEP_SUMMARY"
173176 fi
174177 fi
175178 fi
0 commit comments