Skip to content

GitHub Action: "Tail calling interpreter" times out after 60 minutes on macOS x86_64 on building LLVM from source #159612

Open

Description

@vstinner

On macOS x86_64, it seems like 2 days ago, LLVM was installed from a binary, and it's now built from source by brew install.

Two days ago, the "Install dependencies" of the x86_64-apple-darwin/clang job completed in 10 minutes:

##[warning]You are using macOS on Intel x86_64.
We do not provide support for this platform (as-of September 2026, announced August 2025).

Apple have dropped Intel x86_64 support in macOS Golden Gate (27).
GitHub Actions are dropping macOS Intel x86_64 runners in 2027.
Homebrew is a non-profit project run entirely by volunteers, not employees.
If the biggest companies in the world cannot support macOS Intel x86_64
any longer, sadly neither can we.

Homebrew no longer builds bottles for this configuration.
Existing bottles may still work, but updated formulae may build from source.
==> Downloading bottle manifests
✔︎ Bottle Manifest llvm@21 (21.1.8)
==> Would install 1 formula:
llvm@21 21.1.8
==> Would upgrade 1 dependency for llvm@21:
xz
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-core/1d8ebe59e0fe1e7e213ee99dda5643993a66b1d1/Formula/x/xz.rb
Already downloaded: /Users/runner/Library/Caches/Homebrew/downloads/a65becd715f339f0764495d746d9770a97f413dd9898cf267542424fb0b7cfdd--xz.rb
==> Fetching downloads for: llvm@21
✔︎ API Source xz.rb
✔︎ Formula xz (5.8.4)
✔︎ Bottle llvm@21 (21.1.8)
==> Pouring llvm@21--21.1.8.sonoma.bottle.tar.gz
##[warning]llvm@21 was installed but not linked because llvm@20 is already installed.
To link this version, run:
  brew link llvm@21

🍺  /usr/local/Cellar/llvm@21/21.1.8: 8,670 files, 1.6GB
==> Caveats
==> llvm@21

On a recent job, the "Install dependencies" step times out after 60 minutes:

==> Fetching downloads for: llvm@21
✔︎ API Source llvm@21.rb
✔︎ API Source xz.rb
✔︎ Formula xz (5.8.4)
✔︎ API Source cmake.rb
✔︎ Formula cmake (4.4.4)
✔︎ API Source readline.rb
✔︎ Patch readline83-001
✔︎ Patch readline83-002
✔︎ Patch readline83-003
✔︎ Patch readline83-004
✔︎ Patch readline83-005
✔︎ Patch readline83-006
✔︎ Formula readline (8.3.6)
✔︎ API Source sqlite.rb
✔︎ Formula sqlite (3.54.0)
✔︎ API Source pkgconf.rb
✔︎ Formula pkgconf (3.0.8)
✔︎ API Source python@3.15.rb
✔︎ Resource python@3.15--flit-core
✔︎ Resource python@3.15--pip
✔︎ Formula python@3.15 (3.15.0)
✔︎ Patch 0140-llvm-no-cmp-spec.patch
✔︎ Patch 0141-infinity_nan.patch
✔︎ Patch 477a65a051ce151895193f8dede1262fdc251132.patch?full_index=1
✔︎ Formula llvm@21 (21.1.8)
==> Installing dependencies for llvm@21: cmake, readline, sqlite, xz, pkgconf and python@3.15
==> Upgrading llvm@21 dependency: cmake (4.4.2 -> 4.4.4)
==> ./bootstrap --prefix=/usr/local/Cellar/cmake/4.4.4 --no-system-libs --parall
==> make
==> make install

It seems like LLVM is now built from source and it pulls multiple dependencies... including Python 3.15.0!

Building LLVM from source is quite resource heavy. It would be better to use a prebuilt binary package if available. (Sorry I don't know brew, I don't even know if it does support binary packages.)

Activity

  1. vstinner commented on Oct 17, 2026

    @vstinner
    MemberAuthor

    cc @Fidget-Spinner @diegorusso @hugovk @chris-eibl (who modified .github/workflows/tail-call.yml), but I'm not sure who knows brew in that list (sorry for the spam if you're not concerned).

  2. hugovk commented on Oct 17, 2026

    @hugovk
    Member

    🍎 macOS users

    Homebrew moves macOS Intel x86_64 to Tier 3 in September 2026, announced in August 2025 and repeated in the 5.0.0 release notes on 12 November 2025; 7.0.0 also drops macOS 10.15. Homebrew still runs on Intel until September 2027, without project support or routine bottle builds. Apple and GitHub’s retreat from Intel support exceeds what Homebrew’s volunteers can replace.

    https://brew.sh/2026/09/13/homebrew-7.0.0/#-macos-users

    Our options include:

    • switching from Homebrew in GHA to MacPorts (just for Intel, or all)
    • or because macOS Intel has already moved to tier 2, drop it from GitHub Actions. Maintenance isn't going to get easier from now until EOL (or until removal from GHA, which may come sooner).
  3. added
    infraCI, GitHub Actions, buildbots, Dependabot, etc.
    and removed
    buildThe build process and cross-build
    on Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS-macinfraCI, GitHub Actions, buildbots, Dependabot, etc.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions