@@ -12,17 +12,26 @@ if [ -z "$ALL_BOARD_DATA" ] || [ -z "$GITHUB_REPOSITORY" ] || [ -z "$GITHUB_RUN_
1212 exit 0
1313fi
1414
15+ artifact_count () {
16+ COUNT=$1
17+ ICON=$2
18+ if [ $COUNT -eq 0 ] ; then
19+ ICON=" :new_moon:"
20+ fi
21+ printf " <code>%3i</code>%s" $COUNT $ICON
22+ }
23+
1524artifact_entry () {
16- ICON=" $1 "
17- TEXT=" $2 "
18- LINK=" $3 "
25+ TEXT=" $1 "
26+ LINK=" $2 "
1927
2028 if [ -z " $LINK " ] ; then
2129 BOARD_LINK=" $BOARD "
2230 else
2331 BOARD_LINK=" <a href=\" $LINK \" >$BOARD </a>"
2432 fi
25- echo -e " <li><details><summary>$ICON $BOARD_LINK (<code>$VARIANT </code>) - $TEXT </summary>$DETAILS </details></li>"
33+ COUNTS=" <b>$( artifact_count $SKETCH_ERRORS " :red_circle:" ) $( artifact_count $SKETCH_WARNINGS " :yellow_circle:" ) </b> $( artifact_count $(( SKETCH_COUNT - SKETCH_ERRORS - SKETCH_WARNINGS)) " :green_circle:" ) "
34+ echo -e " <li><details><summary>$TITLE $BOARD_LINK (<code>$VARIANT </code>) $TEXT </summary><table>$DETAILS </table></details></li>"
2635}
2736
2837details_line () {
@@ -31,17 +40,19 @@ details_line() {
3140 if echo " $SKETCH_NAME " | grep -qE ' libraries/' ; then
3241 LIB=$( echo " $SKETCH_NAME " | sed -e ' s/.*libraries\///' -e ' s/\/.*//' )
3342 SKETCH=$( echo " $SKETCH_NAME " | sed -e ' s/.*libraries\/[^/]*\///' )
34- SUMMARY=" $ICON <code>$LIB </code> <code>$SKETCH </code> : $TEXT "
43+ SUMMARY=" <code>$LIB </code> <code>$SKETCH </code>"
3544 else
36- SUMMARY=" $ICON <code>$SKETCH_NAME </code> : $TEXT "
45+ SUMMARY=" <code>$SKETCH_NAME </code>"
3746 fi
3847 if [ $SKETCH_ISSUES_COUNT -ne 0 ] ; then
48+ SUMMARY=" $SUMMARY :down:"
3949 ICON=" $SKETCH_ISSUES_COUNT $ICON "
4050 BODY=" \n\n\`\`\` \n${SKETCH_ISSUES} \n\`\`\` \n"
4151 else
52+ SUMMARY=" $SUMMARY :white_check_mark:"
4253 BODY=" "
4354 fi
44- echo -e " <tr><td>$ICON </td><td><details><summary>$SUMMARY </summary>$BODY </details></td></tr>"
55+ echo -e " <tr><td align=right >$ICON </td><td><details><summary>$SUMMARY </summary>$BODY </details></td></tr>"
4556}
4657
4758ARTIFACTS=$( jq -cr ' map(.artifact) | unique | .[]' <<< ${ALL_BOARD_DATA} ) # this avoids the 'zephyr' artifact
@@ -54,7 +65,7 @@ for artifact in $ARTIFACTS ; do
5465 FQBN=" arduino:$SUBARCH :$BOARD "
5566 REPORT_FILE=" $( echo $FQBN | tr ' :' ' -' ) .json"
5667
57- DETAILS=" <table><tr><th>Status</th><th>Sketch</th></tr> "
68+ DETAILS=" "
5869 ARTIFACT_LINK=" "
5970 if [ ! -f $REPORT_FILE ]; then
6071 ARTIFACT_STATUS=" fire"
@@ -85,20 +96,19 @@ for artifact in $ARTIFACTS ; do
8596 fi
8697 done
8798 fi
88- DETAILS=" ${DETAILS} </table>"
8999
90100 case $ARTIFACT_STATUS in
91101 success)
92- artifact_entry " :white_check_mark:" " All $SKETCH_COUNT sketches built successfully "
102+ artifact_entry " PASS :white_check_mark:"
93103 ;;
94104 warning)
95- artifact_entry " :exclamation:" " All $SKETCH_COUNT sketches built ( $SKETCH_WARNINGS with warnings) " " $ARTIFACT_LINK "
105+ artifact_entry " <b>WARNING</> :exclamation:" " $ARTIFACT_LINK "
96106 ;;
97107 error)
98- artifact_entry " :x:" " $SKETCH_ERRORS out of $SKETCH_COUNT sketches failed to build " " $ARTIFACT_LINK "
108+ artifact_entry " <b>FAILURE</b> :x:" " $ARTIFACT_LINK "
99109 ;;
100110 * )
101- artifact_entry " :fire:" " Report file missing or unreadable "
111+ artifact_entry " <b>CI ISSUE</b> :fire:"
102112 ;;
103113 esac
104114 done
0 commit comments