fix(ci): restore the macOS Intel leg after Homebrew dropped the platform - #1373
Merged
Merged
Conversation
Two independent breakages landed overnight on 2026-09-11. install.sh now aborts with "Homebrew on macOS is only supported on Apple Silicon processors!" before it creates /usr/local, so the Rosetta bootstrap fails at step 3 and no source is ever read. Pin the installer to df3c2556, the last commit that installs to that prefix. Pinning also removes a fetch-HEAD-and-pipe-to-bash hazard. Separately, aom, jpeg-turbo, json-c, libmaxminddb, libtiff, libupnp, lz4 and wxwidgets have all lost their Intel bottles as Homebrew retires the platform, joining pcre2 and openssl@3. Build them from source alongside the two, cache the kegs, and relink each one after a cache restore. Pouring the last published Intel bottle from ghcr instead was tried and does not work: bottles carry @@HOMEBREW_PREFIX@@ in every install name and Homebrew rewrites it during its own pour with a Mach-O edit and a re-sign, so an untarred bottle is silently broken. The comment records this so the next person does not repeat it.
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
macOS .app (x86_64)packaging job has been failing since 2026-09-11 08:00 UTC. Two unrelated Homebrew changes landed overnight and this restores the leg against both. Nothing here touches the arm64 leg, which stayed green throughout.The installer stopped supporting Intel
Homebrew/install#1140 merged at 07:10 UTC and made
install.shabort before it creates the prefix:Because the workflow fetched the installer from
HEAD, it adopted that the moment it landed. The job died at step 3, before any source was read, which is why the failure had nothing to do with the commits it appeared on. The first failing run was 07:59 UTC, 49 minutes after the merge.The installer is now pinned to
df3c2556, the last commit that installs to/usr/local. Pinning a ref also removes a fetch-HEAD-and-pipe-to-bash hazard that was there regardless.Eight more formulae lost their Intel bottles
Homebrew has reduced Intel macOS to Tier 3 and dropped its Intel CI, so a formula loses its Intel bottle the next time it is revised.
wxwidgetslost its at 01:56 UTC the same night. The workflow already source-builtpcre2andopenssl@3for exactly this reason; the list now covers every formula in the dependency closure that has no Intel bottle:pkgconfis there as a build dependency rather than a runtime one:aom,libmaxminddbandwxwidgetsall need it to build and it has no Intel bottle either, so leaving it implicit risks the same abort one level down.The list was derived by walking the full 35-formula closure, runtime dependencies throughout plus build dependencies for anything compiled, and checking each against the published bottle tags. Eleven formulae have no Intel bottle and all eleven are covered.
What this costs
A cold cache now pays for ten source builds instead of two, with
aomandwxwidgetsthe expensive additions. The kegs are cached on the resolved versions, so only a version bump pays it again. Everything lands at its current version, so the two slices of the Universal2 build stay matched andopenssl@3keeps current CVE fixes.A dead end worth recording
Pouring the last published Intel bottle from ghcr.io looks like it should work and does not. Bottles carry
@@HOMEBREW_PREFIX@@in every install name, and Homebrew rewrites it during its own pour with a Mach-O edit and a re-sign. An untarred bottle unpacks cleanly, passes its checksum, contains the right architecture, and is silently broken until something links against it. There is a comment in the workflow recording this so it does not get retried.Longer term
This is a bridge, not a destination. Homebrew's own notice now points Intel users at MacPorts, Apple dropped Intel in macOS 27, and GitHub retires the Intel runners in 2027. Whether aMule keeps shipping an Intel slice is a separate decision; this change keeps packaging green while that gets made.