mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-08 21:49:45 +08:00
Shell operator precedence trap in both the build and test scripts:
cmd1 && cmd2 && ... && rm -f .*.bun-build || true
bun test ... && bun run slop:diff 2>/dev/null || true
The trailing `|| true` was intended to suppress cleanup errors, but it
applies to the entire `&&` chain — so ANY failure (including the
build-node-server.sh failure that broke Windows installs since v0.15.12)
silently exits 0. CI ran the build, the build failed, and CI reported green.
Wrap the cleanup/slop-diff commands in subshells so `|| true` only scopes to
the intended step:
... && (rm -f .*.bun-build || true)
bun test ... && (bun run slop:diff 2>/dev/null || true)
Verified: `bash -c 'false && echo A && rm -f X || true'` exits 0 (old,
broken), `bash -c 'false && echo A && (rm -f X || true)'` exits 1 (new,
correct).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.0 KiB
4.0 KiB