ci(test-quickget): improve test summary formatting and status logic

- Set status to  only when failed>0 and passed==0; use ⚠️ when failures
exist but some passed
- Build per-distro rows with printf to preserve newlines and avoid
trailing whitespace
- Replace heredoc cat with explicit echo lines for consistent GitHub
summary formatting
- Append sorted distro rows without extra blank lines

Signed-off-by: Martin Wimpress <martin@wimpress.org>
This commit is contained in:
Martin Wimpress 2026-01-23 18:47:16 +00:00 committed by Martin Wimpress
parent a2baa3b489
commit 84c77bd3c3
1 changed files with 16 additions and 19 deletions

View File

@ -129,41 +129,38 @@ jobs:
TOTAL_SKIPPED=$((TOTAL_SKIPPED + SKIPPED))
if [ "$FAILED" -gt 0 ]; then
STATUS="❌"
HAS_FAILURES=true
if [ "$PASSED" -eq 0 ]; then
STATUS="❌"
else
STATUS="⚠️"
fi
else
STATUS="✅"
fi
DISTRO_ROWS="${DISTRO_ROWS}| ${DISTRO} | ${PASSED} | ${FAILED} | ${SKIPPED} | ${STATUS} |
"
DISTRO_ROWS="${DISTRO_ROWS}$(printf '| %s | %s | %s | %s | %s |\n' "${DISTRO}" "${PASSED}" "${FAILED}" "${SKIPPED}" "${STATUS}")"
done
# Sort distro rows alphabetically
DISTRO_ROWS_SORTED=$(echo "$DISTRO_ROWS" | sort)
# Write summary header
cat >> "$GITHUB_STEP_SUMMARY" << 'EOF'
## Test Results 📊
| Metric | Count |
|--------|-------|
EOF
echo "## Test Results 📊" >> "$GITHUB_STEP_SUMMARY"
echo "" >> "$GITHUB_STEP_SUMMARY"
echo "| Metric | Count |" >> "$GITHUB_STEP_SUMMARY"
echo "|--------|-------|" >> "$GITHUB_STEP_SUMMARY"
echo "| ✅ Passed | ${TOTAL_PASSED} |" >> "$GITHUB_STEP_SUMMARY"
echo "| ❌ Failed | ${TOTAL_FAILED} |" >> "$GITHUB_STEP_SUMMARY"
echo "| ⏭️ Skipped | ${TOTAL_SKIPPED} |" >> "$GITHUB_STEP_SUMMARY"
# Write per-distro breakdown
cat >> "$GITHUB_STEP_SUMMARY" << 'EOF'
### Per-distro breakdown
| Distro | Passed | Failed | Skipped | Status |
|--------|--------|--------|---------|--------|
EOF
echo "$DISTRO_ROWS_SORTED" >> "$GITHUB_STEP_SUMMARY"
echo "" >> "$GITHUB_STEP_SUMMARY"
echo "### Per-distro breakdown" >> "$GITHUB_STEP_SUMMARY"
echo "" >> "$GITHUB_STEP_SUMMARY"
echo "| Distro | Passed | Failed | Skipped | Status |" >> "$GITHUB_STEP_SUMMARY"
echo "|--------|--------|--------|---------|--------|" >> "$GITHUB_STEP_SUMMARY"
echo -n "$DISTRO_ROWS_SORTED" >> "$GITHUB_STEP_SUMMARY"
# Collect and display failed URLs if any
if [ "$HAS_FAILURES" = true ]; then