From 5f5a7c44bbabfc6fe29e6415dcc75427480804a6 Mon Sep 17 00:00:00 2001 From: Ramesh Padmanabhaiah <22363102+codeforester@users.noreply.github.com> Date: Sat, 17 Oct 2026 00:19:38 +0530 Subject: [PATCH 1/2] ci: migrate macOS validation to macos-15 runner --- .github/workflows/tests.yml | 2 +- CHANGELOG.md | 5 ++++- docs/consumer-validation-status.md | 4 +++- docs/release-process.md | 3 ++- docs/support-matrix.md | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) 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..3f2be91 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 compatibility exercised on the pinned GitHub-hosted macOS 15 runner with Homebrew Bash; 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 | From 32f2a3f27c76e86b1cb28e81654f3b1c256d4b27 Mon Sep 17 00:00:00 2001 From: Ramesh Padmanabhaiah <22363102+codeforester@users.noreply.github.com> Date: Sat, 17 Oct 2026 19:39:55 +0530 Subject: [PATCH 2/2] docs: clarify macOS hosted validation wording --- docs/support-matrix.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/support-matrix.md b/docs/support-matrix.md index 3f2be91..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 | macOS 14 compatibility exercised on the pinned GitHub-hosted macOS 15 runner 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 |