Skip to content

👷 Run LLVM 20 Mac builds on macOS 15 - #128

Closed
kammce wants to merge 1 commit into
mainfrom
mac-llvm-20-macos-15
Closed

kammce wants to merge 1 commit into
mainfrom
mac-llvm-20-macos-15

Conversation

@kammce

@kammce kammce commented Oct 15, 2026

Copy link
Copy Markdown
Member

LLVM 20's ASan runtime deadlocks before main() on macOS 26+. Since #127 moved the Mac LLVM job in package_and_upload_all.yml to macos-26, repos built with the default hal/tc/llvm (LLVM 20) hang there until cancelled. Example: libhal-util's v5/ package check hung for over an hour on libhal/libhal-util#107, in its unit tests, which the old-generation libhal-cmake-util v4 always builds with ASan.

Change

  • The Mac job picks its runner from llvm_profile: hal/tc/llvm and hal/tc/llvm-20 run on macos-15, newer profiles on macos-26.
  • The reason for 👷 Run the Mac LLVM job on macOS 26 #127, the LLVM 22+ libc++ conflict on macOS 14/15, was fixed in 🐛 Statically link libc++ on macOS for LLVM 22+ llvm-toolchain#57, so newer LLVM would also work on macOS 15; this keeps macOS 26 coverage for them.
  • Self-check: add package-libhal_v5, which packages libhal v5/ with hal/tc/llvm-23, so the macos-26 path is exercised too. The existing util v5, libhal v4 and strong_ptr jobs cover the macos-15 path.

After merging

5.x.y must be moved to the merge commit for repos to pick this up.

LLVM 20's ASan runtime deadlocks before main() on macOS 26+. Since #127
moved the Mac LLVM job to macos-26, repos built with the default
hal/tc/llvm (LLVM 20) hang there, e.g. libhal-util v5's unit tests,
which old-generation libhal-cmake-util builds with ASan unconditionally.

Pick the runner from llvm_profile: hal/tc/llvm and hal/tc/llvm-20 run on
macos-15, newer profiles on macos-26. The macOS 14/15 libc++ conflict
that motivated #127 was fixed in llvm-toolchain#57.

Add a self-check that packages libhal v5 with hal/tc/llvm-23, so the
macos-26 path is covered too.
@kammce

kammce commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Closing: libhal-util v5 disables ASan for its tests instead (libhal/libhal-util#112). Other old-generation repos can do the same if their Mac job hangs on macOS 26 + LLVM 20.

@kammce kammce closed this Oct 15, 2026
@kammce
kammce deleted the mac-llvm-20-macos-15 branch October 15, 2026 02:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant