fix(ci): the hosted-Supabase test died on the runner instead of reporting - #5
Merged
Merged
Conversation
…ting CI went red on main with exit 128 and no failure line — the suite stopped mid-file, naming nothing. Two causes, both mine. Sourcing the audit to get at its pure helpers also runs its `set -euo pipefail` in the test's shell, so the first command that failed took the whole suite with it. And the fixture repo committed with whatever git identity happened to be lying around; a GitHub runner has none, so `git commit` exits 128. Locally both were invisible: my identity is configured, so nothing ever failed at that line. A test suite whose job is to run commands that fail must not die on the first one. Take -e back after sourcing, keep -u and pipefail, and give the fixture an explicit identity so it does not care what the machine has. Verified the way it actually breaks, not the way it passes: HOME=$(mktemp -d) GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null reproduces exit 128 before the fix and 28/28 after. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018waGt1ieA9TjpscqrbrnGb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
main is red. The suite exited 128 mid-file with no failure line — a red that named nothing.
Two causes, both mine:
set -eleaked in. The test sources the audit to reach its pure helpers, which also runs the audit'sset -euo pipefailin the test's own shell. A suite whose whole job is to run commands that fail must not die on the first one.git commitexits 128 — combined with (1), that killed the run.Locally both were invisible: my git identity is configured, so nothing ever failed at that line. The gate passed for a reason that had nothing to do with the code being right.
Fix:
set +eafter sourcing (keeping-uandpipefail), and an explicit-c user.email=… -c user.name=…on the fixture commit so it does not care what the machine has.Verified the way it breaks, not the way it passes:
exit 128 before, 28/28 and exit 0 after. Still 28/28 in a normal shell.
Follows #4, which I merged on a misread signal — I took a background job's own exit code for the CI conclusion. That is on me; this restores main.