From 79d386231525a46543820ba0cde580539f10f268 Mon Sep 17 00:00:00 2001 From: Joseph Yaksich Date: Wed, 5 Aug 2026 00:08:53 +0000 Subject: [PATCH] fix(phase4): make Linux acceptance failures legible Many Linux acceptance checks are bare `[[ ... ]]` or `--quiet` assertions that exit non-zero with no output. When one fails, the only signal is "Process completed with exit code 1" with no indication of which check failed, forcing a full candidate rerun to learn anything. Add an ERR trap that prints the exact line number and failing command as a GitHub error annotation, so a failing candidate is diagnosable from the log alone. No behavior change on success; existing guarded checks keep their own messages. Co-Authored-By: Claude --- ops/platform-acceptance/linux.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ops/platform-acceptance/linux.sh b/ops/platform-acceptance/linux.sh index 59bea8e..d53579b 100755 --- a/ops/platform-acceptance/linux.sh +++ b/ops/platform-acceptance/linux.sh @@ -1,6 +1,12 @@ #!/usr/bin/env bash set -euo pipefail +# Many acceptance checks are bare `[[ ... ]]` or `--quiet` assertions that exit +# non-zero with no output, so a failure surfaces only as "exit code 1" with no +# clue which check failed. Report the exact line and command instead, so a +# failing candidate is diagnosable from the log alone rather than by rerunning. +trap 'status=$?; echo "::error::Linux acceptance failed at line ${LINENO} (exit ${status}): ${BASH_COMMAND}" >&2' ERR + ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" ARCHIVE="${HELM_CANDIDATE_ARCHIVE:?exact Linux candidate archive is required}" OFFLINE_ARCHIVE="${HELM_CANDIDATE_OFFLINE_ARCHIVE:?exact Linux offline candidate archive is required}"