Run release checks with the stock macOS Bash

This commit is contained in:
2026-09-06 19:16:00 -05:00
parent 537d26e359
commit fb2e2c5386
4 changed files with 114 additions and 3 deletions

View File

@@ -22,8 +22,9 @@ and macOS; cross-compilation is not native execution evidence.
## 1. Prepare access and tools
The release maintainer owns this procedure. Work in a dedicated clone with Git, Bash,
and two supported Go toolchains available. Configure private-host Git and Go module
The release maintainer owns this procedure. Work in a dedicated clone with Git, Bash 3.2 or newer,
and two supported Go toolchains available. The checker supports the stock macOS
Bash; its filename enumeration is null-delimited, including names with whitespace. Configure private-host Git and Go module
access through the normal credential manager before starting. Keep tokens, passwords,
SSH material, and environment dumps outside the repository and command transcript.
Verify access without displaying credentials:

View File

@@ -239,6 +239,13 @@ default temporary directory and with an intentionally symlinked temporary direct
## 9. P2 — Make the release checker's Bash prerequisite executable on macOS
Status: complete. Replaced mapfile with a Bash-3.2-compatible null-delimited array
read loop. Shell orchestration tests cover spaces/newlines and fail-fast behavior.
The complete checker passes under macOS system Bash 3.2 with cached Go 1.25.5 and
1.26.0, including both baselines, race tests, hygiene/docs/examples and all four
production cross-builds. New native Linux execution remains a release gate, not a
claim made by this local check.
Evidence: [scripts/release-check.sh](../../scripts/release-check.sh) uses
`mapfile -d ''`, but [the release procedure](../release.md) requires only Bash.
The macOS system Bash is 3.2 and has no `mapfile`; the null-delimiter option also