diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f393956..6746b30 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,7 +21,7 @@ jobs: fail-fast: false matrix: os: - - macos-14 + - macos-15 - ubuntu-24.04 steps: - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4756f24..f888308 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,10 @@ and versions are tracked in the repo-root `VERSION` file. ## [Unreleased] -No unreleased changes yet. +### Changed + +- Moved hosted macOS validation to the pinned macOS 15 runner while preserving + the logical macOS 14 compatibility and release-platform contract. ## [2.2.2] - 2026-10-08 diff --git a/docs/consumer-validation-status.md b/docs/consumer-validation-status.md index 2579e7b..ac52326 100644 --- a/docs/consumer-validation-status.md +++ b/docs/consumer-validation-status.md @@ -28,7 +28,9 @@ release-contract patch with no intended public API or runtime behavior changes. The latest completed full runtime validation is the [v2.2.0 release validation run](https://github.com/basefoundry/base-bash-libs/actions/runs/37647096223), which passed the release gates, supported Bash compatibility jobs, macOS 14 and -Ubuntu 24.04 validation, and the downstream Beacon smoke. The corresponding +Ubuntu 24.04 validation, and the downstream Beacon smoke. This historical run +used the macOS 14 hosted image; current validation uses the pinned macOS 15 +runner for the same macOS 14 compatibility contract. The corresponding [Base Bash Demo v0.1.0 release run](https://github.com/basefoundry/base-bash-libs-demo/actions/runs/37652182510) passed its macOS Homebrew Bash, Ubuntu, minimum-Bash, and standalone-artifact jobs against the immutable v2.2.0 vendor. The earlier [Framework Compatibility diff --git a/docs/release-process.md b/docs/release-process.md index a3e6d7c..35a6a0e 100644 --- a/docs/release-process.md +++ b/docs/release-process.md @@ -87,7 +87,8 @@ policy](https://github.com/basefoundry/base/blob/main/docs/ecosystem-policy.md). uses the `C` locale, and archive creation supports GNU tar and bsdtar only; other tar implementations fail closed rather than claiming reproducibility. Generate the repository component row for the ecosystem BOM from the same - immutable merged commit: + immutable merged commit. Keep the logical macOS 14 support-platform value in + the row; the active hosted validation for that platform runs on macOS 15: ```bash scripts/release-bom-row --version X.Y.Z --commit "$release_commit" \ diff --git a/docs/support-matrix.md b/docs/support-matrix.md index 4bec8a5..33e2109 100644 --- a/docs/support-matrix.md +++ b/docs/support-matrix.md @@ -8,7 +8,7 @@ unreported pass. | Dimension | Supported contract | Evidence | | --- | --- | --- | | Bash | 4.2.53 minimum; representative 4.4.23 and 5.0.18/5.2.37; current 5.x | Pinned networkless Bash containers, current runner validation, `tests/compatibility-matrix.sh`, deterministic property, artifact, and concurrency contracts | -| macOS | Pinned GitHub-hosted macOS 14 with Homebrew Bash; system Bash 3.2 is rejected with remediation | macOS validation and unsupported-system-Bash smoke | +| macOS | macOS 14 is the supported floor; hosted validation runs on the pinned GitHub-hosted macOS 15 runner with Homebrew Bash because no macOS 14 hosted runner is available; system Bash 3.2 is rejected with remediation | macOS validation and unsupported-system-Bash smoke | | Linux/glibc | Pinned Ubuntu 24.04 runner and Bash 4.2.53/4.4.23/5.0.18/5.2.37 containers | Ubuntu validation and compatibility workflow | | Linux/musl | Alpine/musl syntax and option-contract probe when the runner provides Docker | `tests/compatibility-matrix.sh --container alpine` | | BSD userland | Best-effort portability checks; no release guarantee until a maintained CI runner is available | Explicitly reported as advisory |