Commit d994b2a
fix(ci): pin
Addresses the PR #25 review: the step uses `shopt`, a bash builtin, but relied
on the runner default rather than declaring the shell. True today on
ubuntu-latest; pwsh on a Windows runner, where the step would break if the job
were ever copied.
Worth noting the fix is not purely defensive — `shell: bash` is not the same as
the default. It runs `bash --noprofile --norc -eo pipefail` rather than
`bash -e`, so the gate also stops inheriting profile files and gains pipefail.
Both are improvements here, and neither changes this step's behaviour (it has no
pipes). Updated the inline comment that credited "the Actions default" for the
abort, since `-e` now comes from the pinned shell.
Re-verified under the exact flags `shell: bash` invokes
(`bash --noprofile --norc -eo pipefail`):
- real run: 14 test files pass, exit 0
- zero-match glob: exit 1 with the ::error:: annotation
- a deliberately failing suite: aborts, exit 1
- release.yml parses; test/build/draft-release intact; shell resolves to bash
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>shell: bash on the test gate1 parent 404ef20 commit d994b2a
1 file changed
Lines changed: 6 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
32 | 37 | | |
33 | 38 | | |
34 | 39 | | |
| |||
38 | 43 | | |
39 | 44 | | |
40 | 45 | | |
41 | | - | |
| 46 | + | |
42 | 47 | | |
43 | 48 | | |
44 | 49 | | |
| |||
0 commit comments