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
@@ -35,14 +35,15 @@ jobs:
3535 ./extra/bootstrap.sh -o=--filter=tree:0
3636 echo "CORE_TAG=$(git describe --always)" >> "$GITHUB_ENV"
3737 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"
38+ echo "BOARD_VARIANTS =[ $(cat boards.txt | grep '^[^#]*\.build\.variant' | sed -e 's/^\([^#]*\)\.build\.variant=\(.*\)/{ \"variant\": \"\2\", \"board\": \"\1\" },/' | sort | tr '\r\n' ' ' | sed -e 's/,\s* $//') ]" >> "$GITHUB_ENV"
3939
4040 - name : ccache
4141 uses :
hendrikmuhs/[email protected] 4242 with :
4343 verbose : 1
4444
4545 - name : Build variants
46+ shell : bash
4647 run : |
4748 ./extra/build_all.sh -f
4849
6364 needs : package-core
6465 strategy :
6566 matrix :
66- board : ${{ fromJSON( needs.package-core.outputs.BOARD_NAMES ) }}
67+ include :
68+ ${{ fromJSON( needs.package-core.outputs.BOARD_VARIANTS ) }}
6769 fail-fast : false
6870 env :
6971 FQBN : arduino:zephyr:${{ matrix.board }}
@@ -137,7 +139,7 @@ jobs:
137139 - test-core
138140 if : ${{ !cancelled() && needs.package-core.result == 'success' }}
139141 env :
140- BOARD_NAMES : ${{ needs.package-core.outputs.BOARD_NAMES }}
142+ BOARD_VARIANTS : ${{ needs.package-core.outputs.BOARD_VARIANTS }}
141143 steps :
142144 - uses : actions/download-artifact@v4
143145 with :
@@ -147,29 +149,33 @@ jobs:
147149
148150 - run : |
149151 echo "### Core test results:" >> "$GITHUB_STEP_SUMMARY"
150- for BOARD in $(echo $BOARD_NAMES | jq -cr '.[]'); do
152+ jq -c '.[]' <<< "$BOARD_VARIANTS" | while read -r BOARD_VARIANT; do
153+ BOARD=$(echo $BOARD_VARIANT | jq -cr '.board')
154+ VARIANT=$(echo $BOARD_VARIANT | jq -cr '.variant')
151155 FQBN="arduino:zephyr:$BOARD"
152156 REPORT_FILE="arduino-zephyr-$BOARD.json"
153157 if [ ! -f $REPORT_FILE ]; then
154- echo ":x: $BOARD - No report found?" >> "$GITHUB_STEP_SUMMARY"
158+ echo "* :x: $BOARD (`$VARIANT`) - No report found?" >> "$GITHUB_STEP_SUMMARY"
155159 else
156160 REPORT=$(jq -cr '.boards[0].sketches[0]' $REPORT_FILE)
157161 JOB_ID=$(echo $REPORT | jq -cr '.job_id')
158162 JOB_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}/job/${JOB_ID}#step:5:2"
159163 if ! $(echo $REPORT | jq -cr '.compilation_success') ; then
160- echo ":x: [$BOARD]($JOB_URL) - ** Build failed** " >> "$GITHUB_STEP_SUMMARY"
164+ echo "* :x: [$BOARD]($JOB_URL) (\`$VARIANT\`) - Build failed" >> "$GITHUB_STEP_SUMMARY"
161165 else
162166 WARNINGS=$(echo $REPORT | jq -cr '.warnings.current.absolute // 0')
163167 if [ $WARNINGS -eq 0 ]; then
164- echo ":white_check_mark: [ $BOARD]($JOB_URL ) - Build successful" >> "$GITHUB_STEP_SUMMARY"
168+ echo "* :white_check_mark: $BOARD (\`$VARIANT\` ) - Build successful" >> "$GITHUB_STEP_SUMMARY"
165169 else
166- echo "<details><summary>:warning: <a href=\"$JOB_URL\">$BOARD</a> - $WARNINGS warnings:</summary>" >> "$GITHUB_STEP_SUMMARY"
170+ echo >> "$GITHUB_STEP_SUMMARY"
171+ echo "<details><summary> :warning: <a href=\"$JOB_URL\">$BOARD</a> (<tt>$VARIANT</tt>) - $WARNINGS warnings:</summary>" >> "$GITHUB_STEP_SUMMARY"
167172 echo >> "$GITHUB_STEP_SUMMARY"
168173 echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
169174 echo $REPORT | jq -cr '.warnings_log[]' >> "$GITHUB_STEP_SUMMARY"
170175 echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
171176 echo >> "$GITHUB_STEP_SUMMARY"
172177 echo "</details>" >> "$GITHUB_STEP_SUMMARY"
178+ echo >> "$GITHUB_STEP_SUMMARY"
173179 fi
174180 fi
175181 fi
0 commit comments