Skip to content

Don't fail-fast the LLVM build matrix#14

Merged
guybedford merged 1 commit into
mainfrom
gbedford/matrix-fail-fast-false
May 11, 2026
Merged

Don't fail-fast the LLVM build matrix#14
guybedford merged 1 commit into
mainfrom
gbedford/matrix-fail-fast-false

Conversation

@guybedford
Copy link
Copy Markdown
Contributor

@guybedford guybedford commented May 11, 2026

When one platform's build in the LLVM build matrix fails the strategy currently cancels the other in-progress jobs, discarding the ~45 minutes of work each had done. Set fail-fast: false so the surviving platforms continue to completion and upload their assets.

This came up because the windows-amd64 clang-tidy build currently fails on windows-latest: the runner now ships MinGW GCC 15.2.0, whose libstdc++ no longer transitively pulls <cstdint> into <initializer_list>, and LLVM 18.1.8's SmallVector.h uses uint32_t/uint64_t without an explicit include. That made the prior clang-tidy-18.1.8 dispatch cancel the darwin and linux builds we actually wanted. With this change those three would have completed and uploaded their binaries + clang-tidy-dev header tarballs.

The Windows failure is real and visible — the workflow run still shows red, the Windows job still shows red. The proper fix is bumping our LLVM pin (later versions already include the missing #include <cstdint> upstream); this PR just stops the windows breakage from also taking down the healthy platforms.

@guybedford guybedford requested a review from a team as a code owner May 11, 2026 22:14
When one platform's build fails the matrix currently cancels the other
in-progress jobs, throwing away ~45 minutes of work on each. Set
fail-fast: false so the remaining platforms continue to completion and
upload their assets.

Concretely this is needed because the windows-amd64 clang-tidy build
currently fails: the windows-latest runner now ships MinGW GCC 15.2.0,
whose libstdc++ no longer transitively pulls <cstdint> into
<initializer_list>, and LLVM 18.1.8's SmallVector.h uses
uint32_t/uint64_t without an explicit include. Upstream fixed this in
later LLVM versions; our proper fix is to bump the LLVM pin. Until
then, the linux and darwin platforms (the only ones any downstream
consumes for clang-tidy) should not be blocked by the broken Windows
build.
@guybedford guybedford force-pushed the gbedford/matrix-fail-fast-false branch from 846d85b to 903747d Compare May 11, 2026 22:15
@guybedford guybedford changed the title Tolerate windows-amd64 build failure for clang-tidy target Don't fail-fast the LLVM build matrix May 11, 2026
@guybedford guybedford merged commit 98ede15 into main May 11, 2026
3 checks passed
@guybedford guybedford deleted the gbedford/matrix-fail-fast-false branch May 11, 2026 22:17
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.

2 participants