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
55
55
./extra/bootstrap.sh -o=--filter=tree:0
56
56
echo "CORE_TAG=$(git describe --always)" >> "$GITHUB_ENV"
57
57
echo "CORE_ARTIFACT=ArduinoCore-zephyr-$(git describe --always)" >> "$GITHUB_ENV"
58
- echo "BOARD_NAMES =[ $(cat boards.txt | grep '^[^#]*\.build\.variant' | cut -d '.' -f 1 | sort | xargs printf '"%s" ,' | sed -e 's/,$//') ]" >> "$GITHUB_ENV"
58
+ 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"
59
59
60
60
- name : Build variants
61
61
run : |
90
90
runs-on : ubuntu-latest
91
91
needs : package-core
92
92
strategy :
93
- matrix :
94
- board : ${{ fromJSON( needs.package-core.outputs.BOARD_NAMES ) }}
93
+ matrix : ${{ fromJSON( needs.package-core.outputs.BOARD_VARIANTS ) }}
95
94
fail-fast : false
96
95
env :
97
96
FQBN : arduino:zephyr:${{ matrix.board }}
@@ -165,7 +164,7 @@ jobs:
165
164
- test-core
166
165
if : ${{ !cancelled() && needs.package-core.result == 'success' }}
167
166
env :
168
- BOARD_NAMES : ${{ needs.package-core.outputs.BOARD_NAMES }}
167
+ BOARD_VARIANTS : ${{ needs.package-core.outputs.BOARD_VARIANTS }}
169
168
steps :
170
169
- uses : actions/download-artifact@v4
171
170
with :
@@ -175,24 +174,26 @@ jobs:
175
174
176
175
- run : |
177
176
echo "### Core test results:" >> "$GITHUB_STEP_SUMMARY"
178
- for BOARD in $(echo $BOARD_NAMES | jq -cr '.[]'); do
177
+ for BOARD_VARIANT in $(echo $BOARD_VARIANTS | jq -cr '.[]'); do
178
+ BOARD=$(echo $BOARD_VARIANT | jq -cr '.board')
179
+ VARIANT=$(echo $BOARD_VARIANT | jq -cr '.variant')
179
180
FQBN="arduino:zephyr:$BOARD"
180
181
REPORT_FILE="arduino-zephyr-$BOARD.json"
181
182
if [ ! -f $REPORT_FILE ]; then
182
- echo "* :x: $BOARD - No report found?" >> "$GITHUB_STEP_SUMMARY"
183
+ echo "* :x: $BOARD ($VARIANT) - No report found?" >> "$GITHUB_STEP_SUMMARY"
183
184
else
184
185
REPORT=$(jq -cr '.boards[0].sketches[0]' $REPORT_FILE)
185
186
JOB_ID=$(echo $REPORT | jq -cr '.job_id')
186
187
JOB_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}/job/${JOB_ID}#step:5:2"
187
188
if ! $(echo $REPORT | jq -cr '.compilation_success') ; then
188
- echo "* :x: [$BOARD]($JOB_URL) - **Build failed**" >> "$GITHUB_STEP_SUMMARY"
189
+ echo "* :x: [$BOARD ($VARIANT) ]($JOB_URL) - **Build failed**" >> "$GITHUB_STEP_SUMMARY"
189
190
else
190
191
WARNINGS=$(echo $REPORT | jq -cr '.warnings.current.absolute // 0')
191
192
if [ $WARNINGS -eq 0 ]; then
192
- echo "* :white_check_mark: [$BOARD]($JOB_URL) - Build successful" >> "$GITHUB_STEP_SUMMARY"
193
+ echo "* :white_check_mark: [$BOARD ($VARIANT) ]($JOB_URL) - Build successful" >> "$GITHUB_STEP_SUMMARY"
193
194
else
194
195
echo >> "$GITHUB_STEP_SUMMARY"
195
- echo "<details><summary>:warning: <a href=\"$JOB_URL\">$BOARD</a> - $WARNINGS warnings:</summary>" >> "$GITHUB_STEP_SUMMARY"
196
+ echo "<details><summary>:warning: <a href=\"$JOB_URL\">$BOARD ($VARIANT) </a> - $WARNINGS warnings:</summary>" >> "$GITHUB_STEP_SUMMARY"
196
197
echo >> "$GITHUB_STEP_SUMMARY"
197
198
echo "\`\`\`" >> "$GITHUB_STEP_SUMMARY"
198
199
echo $REPORT | jq -cr '.warnings_log[]' >> "$GITHUB_STEP_SUMMARY"
0 commit comments