Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ jobs:
# Darwin pool IO + mmap fuse + query confirm + --smoke. Required. Not a notarized / operator zip.
macos:
name: macos
runs-on: macos-14
runs-on: macos-26
timeout-minutes: 30
env:
CARGO_TARGET_DIR: target/dev
Expand All @@ -174,7 +174,7 @@ jobs:
- uses: dtolnay/rust-toolchain@a5f673d0ba8626c3977bb416a1612774bc82181b # rustc 1.95.0
- uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
with:
shared-key: ci-macos
shared-key: ci-macos-26
workspaces: ". -> target/dev"
- name: store + node smoke
run: ./scripts/ci-os-smoke.sh
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ jobs:

macos:
name: macos
runs-on: macos-14
runs-on: macos-26
timeout-minutes: 120
env:
CARGO_TERM_COLOR: always
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ IO on Windows and Darwin.
| `nix develop` / `nix-shell` | optional pin (below) | optional pin (below) — `aarch64-darwin` | no |

**macOS Intel vs Apple Silicon:** rustup installs a native toolchain. CI `macos` is
`macos-14` (aarch64). You can develop on either; Release Darwin zips are **aarch64
`macos-26` (aarch64). You can develop on either; Release Darwin zips are **aarch64
only** and ad-hoc signed ([`OPERATOR.md`](./OPERATOR.md)).

**WSL2:** treat it as Linux. Install rustup *inside* the distro (not the Windows
Expand Down Expand Up @@ -147,7 +147,7 @@ That is **not** the operator binary (`nix build .#rbitcoin-musl`). Details:
**Release `packages` stay Linux-only** (`nix build` has no `aarch64-darwin`
attribute). The dev shell pins tool versions and builds nothing that ships, so
the static-musl constraint that excludes Darwin from `packages` does not apply
to it. Darwin operator binaries come from the `macos-14` release job, not Nix.
to it. Darwin operator binaries come from the `macos-26` release job, not Nix.

## Principles

Expand Down
3 changes: 3 additions & 0 deletions changelog.d/macos-26-runner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Changed

- **Darwin CI and release run on `macos-26`.** The required PR `macos` job and the Darwin operator zip use that image. GitHub retires `macos-14` on 2 November 2026.
2 changes: 1 addition & 1 deletion docs/reproducible-builds.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Windows operator binary the same way:
| OS | Why not Nix `pkgsStatic` | What ships / what PR CI runs |
|----|--------------------------|----------------|
| **Windows** | No musl-style fully static PE from this flake; mingw cross is a different CRT than operators run | **Release:** `windows-2022` + rustc **1.95** + `-C target-feature=+crt-static`. Stage script refuses VC++ / MinGW runtime DLLs. **PR `ci`:** `./scripts/ci-os-smoke.sh` (store IO + mmap fuse + query confirm + `--smoke`) |
| **Darwin** | Apple forbids a static `libSystem` link. `nix build` on a Mac is store-rpath (not portable) | **Release:** `macos-14` + rustc **1.95**. Stage script allows only `/usr/lib` and `/System/Library` dylibs. Ad-hoc `codesign -s -` (not notarized). **aarch64 only**. **PR `ci`:** `./scripts/ci-os-smoke.sh` |
| **Darwin** | Apple forbids a static `libSystem` link. `nix build` on a Mac is store-rpath (not portable) | **Release:** `macos-26` + rustc **1.95**. Stage script allows only `/usr/lib` and `/System/Library` dylibs. Ad-hoc `codesign -s -` (not notarized). **aarch64 only**. **PR `ci`:** `./scripts/ci-os-smoke.sh` |

Staging for Releases: `scripts/stage-native-artifacts.sh`. Not byte-identical
with the musl package. Windows IoRing is not supported.
Expand Down
Loading