From 7eeea0708eed194a2a4afa4c5beb16f5ea983f26 Mon Sep 17 00:00:00 2001 From: Daniel Date: Fri, 25 Sep 2026 13:25:51 +0200 Subject: [PATCH] ci: name every failing test in the compat matrix output A failing run printed only its last 25 lines, which showed one failure and hid the rest. The first CI runs on main failed with a dozen timeouts and, once, with "Unexpected end of JSON input" in the informational job, and the log could not say which tests those were. It now prints each failing test with its first error lines, then the summary. --- scripts/compat-matrix.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/compat-matrix.sh b/scripts/compat-matrix.sh index a4228a7..f478974 100755 --- a/scripts/compat-matrix.sh +++ b/scripts/compat-matrix.sh @@ -82,7 +82,12 @@ run_suites() { record "$label" "$p" "${n:-passed}" else echo " $p failed against $label:" - printf '%s\n' "$out" | tail -25 | sed 's/^/ /' + # Every failing test with its first error lines, then the summary. + # A tail of the run shows only the last failure, and a flaky run + # rarely fails once. + plain=$(printf '%s\n' "$out" | sed 's/\x1b\[[0-9;]*m//g') + printf '%s\n' "$plain" | grep -E -A4 '^ *(FAIL|×) |Error:' | head -80 | sed 's/^/ /' || true + printf '%s\n' "$plain" | tail -6 | sed 's/^/ /' record "$label" "$p" "FAIL" FAILED=1 fi