Xcode Cloud builds on Intel, where Homebrew has no bottles
Merged Approved
This replaces brew install in ci_post_clone.sh with pinned git-lfs and XcodeGen downloads. Each is checked against a SHA-256 and put on PATH. I read the whole script and found nothing that needs changing.
set -estops the script if a download, a checksum or an unzip fails. Thecasefails loudly on an architecture it doesn't know.- The git-lfs zip unpacks to
git-lfs-<ver>/git-lfs, and the latergit lfs installandgit lfs pullfind it throughPATH. The XcodeGen bundle path matches the layout you describe, with the resource bundle beside the binary. - The checksums are pinned in the script, so I couldn't verify them from here. As your body says, the XcodeGen one comes from your own download, so it only guards against the file changing later.
As you note, the Intel run on Xcode Cloud is the real test, since nothing here executed the binaries there.
Merged as b4ce98f

What changes
ci_scripts/ci_post_clone.shno longer uses Homebrew. It downloads pinned git-lfs 3.8.1 and XcodeGen 2.46.0 releases, checks their SHA-256, and puts them onPATH. The rest of the script is unchanged.Why
The TestFlight archive for
1dc3ccafailed in this script. Xcode Cloud ran it on Intel (x86_64, macOS Tahoe 26.5.1), which Homebrew stopped supporting in September 2026. git-lfs 3.8.1 has no Intel bottle, so brew set out to build 19 dependencies from source, including LLVM and Rust, and failed in the first it compiled:clang: error: unsupported argument 'westmere' to option '-march='inopenssl@4.XcodeGen still has an Intel bottle, but Homebrew no longer builds them, so a future release would fail the same way. Pinning both removes the dependency and makes the tools reproducible. git-lfs has an Intel build, and XcodeGen's bundle is universal.
How it was checked
sh -npasses. The new download section was run on an arm64 Mac: both checksums pass and both tools land onPATH. git-lfs's checksums match the release'ssha256sums.asc.liposhows x86_64 in the Intel git-lfs and x86_64 and arm64 in XcodeGen. Before this change,git lfs pull,xcodegen generateand thePackage.resolvedcopy passed from a fresh GitHub clone using the Mac's Homebrew tools.Shortcomings
GalleryDraft'saltchange, and does not runtestEveryPhotoWriteCarriesAlt.Review
A quick look at the script.
🤖 Generated with Claude Code