fix: discard-dist-on-failure keeps the step's status when its message cannot be written (closes #342)
check / check (push) Waiting to run
e2e / e2e-chrome (push) Waiting to run
e2e / e2e-firefox (push) Waiting to run

With stderr closed, the wrapper's message write failed and set -e ended it
with status 2; with stderr a pipe whose reader had gone, the write killed it
with 141. Either replaced the failed step's own status. The message is now
written with SIGPIPE ignored and its failure ignored, after the step has run,
so the step still sees the default SIGPIPE. The header now states that an
interrupt removes nothing (it is not a build failure) and that a failed
check-censored --require-dist removes dist/ (a dist/ not cleared of the barred
name must not ship); neither behaviour changed. Also the README bullet's
missing period.

Model: opus-5-5
This commit is contained in:
2026-10-07 00:32:06 +00:00
parent e14f6e9eb5
commit 9f8eb0398c
4 changed files with 44 additions and 17 deletions
+11
View File
@@ -45,6 +45,17 @@ but the review is broader than any of them.
# Completed Steps
- 2026-10-07: `script/discard-dist-on-failure` returns the failed step's own
exit status even when it cannot write its message, to a closed stderr or to a
pipe nobody reads any more
([#342](https://git.eeqj.de/sneak/AutistMask/issues/342)); it used to return 2
or 141 instead. Its header now states that an interrupt removes nothing and
says nothing, because an interrupt is not a build failure, and that a failed
`check-censored --require-dist` removes `dist/` like any other step, because a
`dist/` not cleared of the name `RULES.md` bars must not ship. Neither
behaviour changed. `script/test-verify-build` runs the wrapper with stderr
closed.
- 2026-10-06: `script/bootstrap` no longer reports success while node cannot
find a package listed in `dependencies` or `devDependencies` of `package.json`
([#263](https://git.eeqj.de/sneak/AutistMask/issues/263)). After the install