Repository navigation
Build zig deps on runners with no macOS 15 SDK - #863
Merged
Merged
Conversation
GitHub's macos-26 image 20261013 ships only macOS 26.x SDKs, so the zig SDK shim found nothing and `make install-zmx` crashed with DarwinSdkNotFound, failing the required macos check on every macOS PR. make zig-sdk (a dependency of build-zmx and build-ghostty) now builds .build/sdk/MacOSX<ver>-zig.sdk when the shim can't resolve a macOS 15 SDK: the newest 26.x SDK through symlinks, with arm64-macos added to each libSystem.B.tbd document that only lists arm64e-macos. The shim uses it as a last resort, so machines with a macOS 15 SDK are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: scgopi <scgopireddy@gmail.com>
scgopi
force-pushed
the
ci/zig-sdk-on-macos-26
branch
from
October 17, 2026 21:50
80d6c45 to
45828aa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The required
macoscheck fails on every PR that touches macOS code. GitHub'smacos-26-arm64image20261013ships only macOS 26.x SDKs.Tools/zig-sdk-shim/xcrunonly answers with a macOS 15 SDK, so zig getsDarwinSdkNotFoundandmake install-zmxpanics (run 39063192993 on #859). The last passing macos run was on 2026-10-14, on image20260828.Fix
make zig-sdk, whichbuild-zmxandbuild-ghosttynow depend on, runsTools/zig-sdk-shim/make-zig-sdk. It does nothing when the shim already finds a macOS 15 SDK..build/sdk/MacOSX<ver>-zig.sdk:usr/lib/libSystem.B.tbd, wherearm64-macosis added to every document that lists onlyarm64e-macos. Apple's ld makes this arm64 → arm64e fallback itself; zig 0.15.2's linker doesn't.arm64-macos, but 34 of the 40 documents in SDK 26.5 did.INFINITYundeclared).RED: zig build of zmx with GRAPHCODE_ZIG_SDK=CommandLineTools MacOSX26.5.sdk -> exit 2, undefined symbol _abort, _bzero, _clock_gettime (same root cause as the CI DarwinSdkNotFound on image 20261013)
GREEN: make zig-sdk in a worktree with no macOS 15 SDK, then zig build of zmx through the shim with no override -> exit 0; zmx version 0.7.0, and a zmx run/ls/history/kill session works
GREEN: zig build of GhosttyKit through the shim with the patched SDK -> exit 0, GhosttyKit.xcframework/macos-arm64/libghostty-internal-fat.a produced
REGRESSION: make-zig-sdk with a macOS 15 SDK resolvable (GRAPHCODE_ZIG_SDK=.build/sdk/MacOSX15.4.sdk) -> exit 0, no-op; this PR's own macos job exercises the runner path