15
15
outputs :
16
16
CORE_TAG : ${{ env.CORE_TAG }}
17
17
CORE_ARTIFACT : ${{ env.CORE_ARTIFACT }}
18
- BOARD_NAMES : ${{ env.BOARD_NAMES }}
18
+ BOARD_VARIANTS : ${{ env.BOARD_VARIANTS }}
19
19
steps :
20
20
- name : Install toolchain
21
21
working-directory : /opt
35
35
./extra/bootstrap.sh -o=--filter=tree:0
36
36
echo "CORE_TAG=$(git describe --always)" >> "$GITHUB_ENV"
37
37
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/,$//') ]" >> "$GITHUB_ENV"
39
39
40
40
- name : ccache
41
41
uses :
hendrikmuhs/[email protected]
62
62
runs-on : ubuntu-latest
63
63
needs : package-core
64
64
strategy :
65
- matrix :
66
- board : ${{ fromJSON( needs.package-core.outputs.BOARD_NAMES ) }}
65
+ matrix : ${{ fromJSON( needs.package-core.outputs.BOARD_VARIANTS ) }}
67
66
fail-fast : false
68
67
env :
69
68
FQBN : arduino:zephyr:${{ matrix.board }}
@@ -137,7 +136,7 @@ jobs:
137
136
- test-core
138
137
if : ${{ !cancelled() && needs.package-core.result == 'success' }}
139
138
env :
140
- BOARD_NAMES : ${{ needs.package-core.outputs.BOARD_NAMES }}
139
+ BOARD_VARIANTS : ${{ needs.package-core.outputs.BOARD_VARIANTS }}
141
140
steps :
142
141
- uses : actions/download-artifact@v4
143
142
with :
@@ -147,29 +146,33 @@ jobs:
147
146
148
147
- run : |
149
148
echo "### Core test results:" >> "$GITHUB_STEP_SUMMARY"
150
- for BOARD in $(echo $BOARD_NAMES | jq -cr '.[]'); do
149
+ echo "$BOARD_VARIANTS" | jq -c '.[]' | while read -r BOARD_VARIANT; do
150
+ BOARD=$(echo $BOARD_VARIANT | jq -cr '.board')
151
+ VARIANT=$(echo $BOARD_VARIANT | jq -cr '.variant')
151
152
FQBN="arduino:zephyr:$BOARD"
152
153
REPORT_FILE="arduino-zephyr-$BOARD.json"
153
154
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"
155
156
else
156
157
REPORT=$(jq -cr '.boards[0].sketches[0]' $REPORT_FILE)
157
158
JOB_ID=$(echo $REPORT | jq -cr '.job_id')
158
159
JOB_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}/job/${JOB_ID}#step:5:2"
159
160
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"
161
162
else
162
163
WARNINGS=$(echo $REPORT | jq -cr '.warnings.current.absolute // 0')
163
164
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"
165
166
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"
167
169
echo >> "$GITHUB_STEP_SUMMARY"
168
170
echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
169
171
echo $REPORT | jq -cr '.warnings_log[]' >> "$GITHUB_STEP_SUMMARY"
170
172
echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
171
173
echo >> "$GITHUB_STEP_SUMMARY"
172
174
echo "</details>" >> "$GITHUB_STEP_SUMMARY"
175
+ echo >> "$GITHUB_STEP_SUMMARY"
173
176
fi
174
177
fi
175
178
fi
0 commit comments