Skip to content

Commit 4fcf10e

Browse files
committed
step
1 parent a151b12 commit 4fcf10e

File tree

2 files changed

+35
-43
lines changed

2 files changed

+35
-43
lines changed

.github/workflows/package_core.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ jobs:
258258
- name: Prepare log
259259
if: ${{ success() || failure() }}
260260
run: |
261+
[ ! -f sketches-reports/${REPORT_FILE} ] && echo "{}" > sketches-reports/${REPORT_FILE
261262
sed -i -e 's!/home/runner/.arduino15/packages/arduino/hardware/zephyr/[^/]*/!!g' sketches-reports/${REPORT_FILE}
262263
cat sketches-reports/${REPORT_FILE} | jq -cr ". += { job_id: ${{ steps.job_id.outputs.result }} }" > ${REPORT_FILE} && mv ${REPORT_FILE} sketches-reports/
263264

extra/ci_collect_logs.sh

Lines changed: 34 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@ artifact_count() {
2424

2525
artifact_entry() {
2626
ICON="$1"
27-
LINK="$2"
2827

2928
COUNTS="$(artifact_count $((SKETCH_COUNT - SKETCH_ERRORS)) ":green_circle:") $(artifact_count $SKETCH_WARNINGS ":yellow_circle:") <b>$(artifact_count $SKETCH_ERRORS ":red_circle:")</b>"
3029
SUMMARY="$COUNTS $ICON <b>$BOARD</b> (<code>$VARIANT</code>)"
31-
if [ ! -z "$LINK" ] ; then
32-
SUMMARY="$SUMMARY - <a href=\"$LINK\">full build log</a>"
30+
if [ ! -z "$ARTIFACT_LINK" ] ; then
31+
SUMMARY="$SUMMARY - <a href=\"$ARTIFACT_LINK\">full build log</a>"
3332
fi
3433
echo -e "<li><details><summary>$SUMMARY</summary><table>$DETAILS</table></details></li>"
3534
}
@@ -71,47 +70,39 @@ for artifact in $ARTIFACTS ; do
7170
SKETCH_ERRORS=0
7271
SKETCH_WARNINGS=0
7372
if [ ! -f $REPORT_FILE ]; then
74-
ARTIFACT_STATUS="fire"
75-
else
76-
REPORTS=$(jq -cr '.boards[0].sketches' $REPORT_FILE)
77-
JOB_ID=$(jq -cr '.job_id' $REPORT_FILE)
78-
ARTIFACT_LINK="https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}/job/${JOB_ID}#step:5"
79-
80-
SKETCH_COUNT=$(echo $REPORTS | jq -cr 'length')
81-
ARTIFACT_STATUS="success"
82-
for i in $(seq 0 $((SKETCH_COUNT - 1))) ; do
83-
REPORT=$(echo $REPORTS | jq -cr ".[$i]")
84-
SKETCH_NAME=$(echo $REPORT | jq -cr '.name')
85-
SKETCH_ISSUES=$(echo $REPORT | jq -cr '.issues.[]' | sed -e 's/.*\(\(\/[^/]\+\)\{3\}\):/...\1:/')
86-
SKETCH_ISSUES_COUNT=$(echo $REPORT | jq -cr '.issues | length')
87-
if ! $(echo $REPORT | jq -cr '.compilation_success') ; then
88-
SKETCH_ERRORS=$((SKETCH_ERRORS + 1))
89-
ARTIFACT_STATUS=error
90-
DETAILS="${DETAILS}$(details_line ":red_circle:" "Compilation failed")\n"
91-
elif [ $SKETCH_ISSUES_COUNT -eq 0 ]; then
92-
[ $ARTIFACT_STATUS == "success" ] && ARTIFACT_STATUS="warning"
93-
DETAILS="${DETAILS}$(details_line ":green_circle:" "Build successful")\n"
94-
else
95-
SKETCH_WARNINGS=$((SKETCH_WARNINGS + 1))
96-
DETAILS="${DETAILS}$(details_line ":yellow_circle:" "Build successful")\n"
97-
fi
98-
done
73+
artifact_entry ":fire:"
74+
continue
9975
fi
10076

101-
case $ARTIFACT_STATUS in
102-
success)
103-
artifact_entry "PASS :white_check_mark:"
104-
;;
105-
warning)
106-
artifact_entry ":exclamation:" "$ARTIFACT_LINK"
107-
;;
108-
error)
109-
artifact_entry ":x:" "$ARTIFACT_LINK"
110-
;;
111-
fire)
112-
artifact_entry ":fire:"
113-
;;
114-
esac
77+
JOB_ID=$(jq -cr '.job_id' $REPORT_FILE)
78+
REPORTS=$(jq -cr '.boards[0].sketches // []' $REPORT_FILE)
79+
ARTIFACT_LINK="https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}/job/${JOB_ID}#step:5"
80+
81+
SKETCH_COUNT=$(echo $REPORTS | jq -cr 'length')
82+
if [ $SKETCH_COUNT -eq 0 ] ; then
83+
artifact_entry ":fire:"
84+
continue
85+
fi
86+
87+
ARTIFACT_ICON=":white_check_mark:"
88+
for i in $(seq 0 $((SKETCH_COUNT - 1))) ; do
89+
REPORT=$(echo $REPORTS | jq -cr ".[$i]")
90+
SKETCH_NAME=$(echo $REPORT | jq -cr '.name')
91+
SKETCH_ISSUES=$(echo $REPORT | jq -cr '.issues.[]' | sed -e 's/.*\(\(\/[^/]\+\)\{3\}\):/...\1:/')
92+
SKETCH_ISSUES_COUNT=$(echo $REPORT | jq -cr '.issues | length')
93+
if ! $(echo $REPORT | jq -cr '.compilation_success') ; then
94+
SKETCH_ERRORS=$((SKETCH_ERRORS + 1))
95+
ARTIFACT_ICON=":x:"
96+
DETAILS="${DETAILS}$(details_line ":red_circle:" "Compilation failed")\n"
97+
elif [ $SKETCH_ISSUES_COUNT -eq 0 ]; then
98+
[ $ARTIFACT_ICON == ":white_check_mark:" ] && ARTIFACT_ICON=":exclamation:"
99+
DETAILS="${DETAILS}$(details_line ":green_circle:" "Build successful")\n"
100+
else
101+
SKETCH_WARNINGS=$((SKETCH_WARNINGS + 1))
102+
DETAILS="${DETAILS}$(details_line ":yellow_circle:" "Build successful")\n"
103+
fi
104+
done
105+
106+
artifact_entry $ARTIFACT_STATUS
115107
done
116-
echo -e "</ul>\n"
117108
done

0 commit comments

Comments
 (0)