From 84c77bd3c389cd78a9219ae2405096031ab5ca74 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Fri, 23 Jan 2026 18:47:16 +0000 Subject: [PATCH] ci(test-quickget): improve test summary formatting and status logic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .github/workflows/test-quickget.yml | 35 +++++++++++++---------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/.github/workflows/test-quickget.yml b/.github/workflows/test-quickget.yml index b098a7a..f3e4257 100644 --- a/.github/workflows/test-quickget.yml +++ b/.github/workflows/test-quickget.yml @@ -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