ci(lsan-macos): pin the Homebrew LLVM toolchain to llvm@22 - #2028
Open
DeusData wants to merge 1 commit into
Open
ci(lsan-macos): pin the Homebrew LLVM toolchain to llvm@22#2028DeusData wants to merge 1 commit into
DeusData wants to merge 1 commit into
Conversation
The test-lsan-macos leg installs the unversioned `llvm` formula, which tracks Homebrew's current stable. That moved from 22.1.8 to 23.1.0 today, so the leg's compiler now depends on which bottle the runner image draws: run 33745916176 (PR #1811) poured 23.1.0 and died at compile on a new Clang 23 diagnostic (-Wunused-but-set-global under -Werror); the run an hour earlier poured 22.1.8 and built fine. Same code, two verdicts. Pin the formula (and the `brew --prefix` lookup) to llvm@22 — the version every green run of this leg has used so far. Moving to a newer major becomes a deliberate edit of these two lines instead of an accident of the runner image. The diagnostic itself is fixed independently in #2027 so main compiles under both majors; this change is about determinism of the leg, not the warning. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
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.
Why
test-lsan-macosinstalls the unversionedllvmformula, which tracks Homebrew stable. Stable moved 22.1.8 → 23.1.0 today, so the leg's compiler now depends on which bottle the runner image happens to draw:src/cli/cli.c:1768: -Wunused-but-set-globalunder-Werror, a diagnostic new in Clang 23Same code, two verdicts. That is exactly the shape the suite is not allowed to have: a test's result must be a function of the code, not of the image snapshot.
What
Two lines:
brew install llvm@22 ccacheandbrew --prefix llvm@22, plus a comment saying why.llvm@22is at 22.1.8 — the version every green run of this leg has used so far, and the version the localmake -f Makefile.cbm test-lsan/ diag lanes are on.Moving to a newer major becomes a deliberate edit of these two lines instead of an accident of the runner.
Relation to #2027
#2027 fixes today's diagnostic so
maincompiles under both majors. This PR is about determinism of the leg; the two are independent and can land in either order.Scope flags (CI change)