Commit c7172cb
authored
fix: skip ldid signing on ARM64 — macOS artifacts are only published from amd64 (#22120)
## 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 so `ldid` was never called.
## Fix
Gate the `ldid` call behind `$(arch) == amd64` in `inject_version`. The
ARM64 instance doesn't need to sign Mach-O binaries because all macOS
release artifacts are published exclusively from the amd64 instance:
- **GitHub releases** (tarballs): packaged by `build_release_dir`, runs
on amd64 only
- **bb.js npm packages**: `copy_cross.sh` already guards ldid with `[[
"$(arch)" == "amd64" ]]`
- **Docker images**: Linux binaries only, no Mach-O signing needed
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 in `inject_version`"1 file changed
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
40 | 42 | | |
41 | 43 | | |
42 | | - | |
| 44 | + | |
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
| |||
0 commit comments