fix: skip ldid signing on ARM64 — macOS artifacts are only published from amd64#22120
Merged
Conversation
29e0b4a to
7845da5
Compare
alexghr
approved these changes
Mar 30, 2026
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.
Summary
The nightly Docker image build has been failing since March 25 because the ARM64 release instance tries to run
ldid(an x86_64 Linux binary) to re-sign cross-compiled Mach-O binaries after version injection.This was exposed by PR #21953 which fixed
llvm-objdump→llvm-objdump-20, making Mach-O detection actually work — before that, the detection silently failed soldidwas never called.Fix
Gate the
ldidcall behind$(arch) == amd64ininject_version. The ARM64 instance doesn't need to sign Mach-O binaries because all macOS release artifacts are published exclusively from the amd64 instance:build_release_dir, runs on amd64 onlycopy_cross.shalready guards ldid with[[ "$(arch)" == "amd64" ]]The ARM64 instance builds cross targets (macOS, Windows, iOS, Android) to populate the shared build cache, but never publishes them.
Impact
Unblocks the nightly release pipeline → unblocks Deploy Next Net (failing 6 days).
Changed file
barretenberg/cpp/bootstrap.sh— one-line change ininject_version"