Repository navigation
Follow stable LLVM 23 releases from the pinned catalogue - #1011
Merged
Merged
Conversation
helly25
marked this pull request as ready for review
October 22, 2026 23:02
helly25
pushed a commit
that referenced
this pull request
Oct 23, 2026
Update setup-bazel to 0.19.1 in the main, release, fuzz, benchmarks, and benchmark-backfill workflows. Keep release preparation policy checks aligned with the action pin. ## AG;DR The remaining change after PR #1011 is five workflow action-version updates and the corresponding policy-test expectations. Preserve the LLVM major-23 selector and Ubuntu runtime compatibility fixes already on main. Validation: complete current-head PR CI and current-main post-merge Test CI pass. The main full clang-tidy scan checked 294 translation units with zero failures.
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.
Follow stable LLVM 23 updates from the pinned toolchain catalogue automatically. Major LLVM and clang-tidy upgrades remain explicit configuration decisions, while ordinary catalogue updates can pick up LLVM 23 fixes without a second compiler-version edit.
Keep Linux CI working on Ubuntu 26.04 while retaining Ubuntu 24.04 support, including real FUSE mounts on both runtimes.
AG;DR
Current implementation:
16c86d96586d7caf1624bb1b4538b4b7965c7237, synchronized with main through #1012.Linux CI failures involve a FUSE runtime-package mismatch, LLVM tool runtime dependencies, and a setup-bazel policy mismatch. The initial failing run cannot install
libfuse3-3on Ubuntu 26.04 and cannot load the older toolchain LLD's ICU dependency. The MSan failure separately requireslibxml2.so.2for the fixed LLVM 22.1.8 compiler/runtime pair. This PR resolves the toolchain, FUSE and MSan host compatibility issues; PR 1013 carries the setup-bazel policy correction.Implementation:
latest:major==23: select the newest stable LLVM 23 release available for the host in the pinned, checksummed toolchain catalogue. Catalogue updates can adopt LLVM 23 fixes; LLVM 24 and new major clang-tidy versions require an explicit selector change. No live upstream-release lookup is involved.b63941bcc533a52e1b81c81af5fe77d5a2b382f8, using the released1.12.0module baseline. The immutable snapshot includes merged selector integration #911, LLVM 23.1.4 #915, and auxiliary-tool runtime-library fix #914. Linux resolves LLVM 23.1.4. Release 1.12.0 predates the selector integration, so retain this source pin until a release contains it.mboworks_bzl(now 0.8.0 upstream); no bzl version, archive or Git override remains.LLVM_VERSION_MSANand the exact LLVM 22.1.8 compiler/instrumented-libc++ pairing. Ordinary ASan, TSan, coverage, fuzzing, release builds, build tools, clang-format and clang-tidy follow LLVM 23. Native Apple ld and bundled Linux LLD selection remain intact.libxml2, with a distinctmsan-ubuntu24cache namespace. Its LLD requireslibxml2.so.2, which Ubuntu 26.04 no longer packages (it supplies SONAME 16). Also install that dependency in the local Ubuntu 24.04 MSan Docker harness. LLVM 23 builds and the other sanitizer jobs remain on ubuntu-latest; no compiler/libc++ version mismatch or shared-library alias is introduced.--helpchild-argument boundary test use a child shell'sprintfbuiltin. Ubuntu 26.04's uutils externalprintfhandles--helpitself even after a format operand, so the fixture previously tested the host utility's help behavior. The child still receives a literal--help, and both the child-output and no-xff-help assertions remain.libfuse3.so.4, then.so.3, then the existing unversioned fallback. SONAME 4 still exposes the FUSE3 API. xff's used lowlevel-operations prefix, file-info fields and exported four-argumentfuse_session_newcompatibility entry point work with both runtimes; no new adapter or libfuse build dependency is needed.fuse3in Linux main/release CI and the local Docker harness; its dependencies choose the distribution's runtime package rather than hard-codinglibfuse3-3.ubuntu-latestand macOS. Both Linux default cells require real FUSE mounts via--config=xff_fuse_tests_required; latest Linux retains ASan. Give Ubuntu 24.04 a separate compiled-output cache namespace.Validation:
bazel build //tools:process_resources_native //xff:xff --config=clang_release --jobs=4passes on Ubuntu 26.04 with LLVM 23.1.4, including sandboxed ThinLTO indexing/linking that previously failed on LLD's missing ICU 70 dependency (945 actions).libfuse3.so.4; all kernel-path server cases run.fuse3/libfuse3-33.14.0 and selectlibfuse3.so.3. All eight CLI full-extras cases also pass there with no skips, including actual archive mounts. This checks one binary across both supported runtimes.packaging==26.0reference reports no differences. Its published version reference documents all four functions and legacy/SemVer/PEP 440 modes. Release-commit CI passes on Linux, macOS and Windows; release and site publication also succeed. At the exact pinned upstream commit, all 45 focused toolchains_llvm selector/feature/distribution tests pass, including named constants, function expressions, wildcard/compatible operators and prerelease policy. All 99 upstream checks are completed without failures, includingrequired_checks_done.libxml22.9.14 satisfies LLVM 22.1.8 LLD. A C++23 program usingstd::vectorcompiles, links with that LLD and the exact instrumented libc++ overlay, and executes successfully under MSan. The MSan host-only update leaves the previously tested C++ sources unchanged; focused pre-commit/actionlint/shell checks pass.bazel test //... $(tools/extras.py --wildcards) --config=xff_docs --config=clang --config=xff_fuse_tests_required --jobs=4 --test_output=errors: all 297 core/extra-module targets pass on native Ubuntu 26.04 without a GNU printf PATH override. The portable fixture preserves the child-argument regression assertion; the same xff binary demonstrates that external uutils printf prints its own help while the shell builtin printschild:--help.git diff --checkpasses. The local clang-tidy hook skips without a compile database; final-head CI passes the complete indexed scan.The repository ignores MODULE.bazel.lock; dependency resolution refreshes it locally. Final pushed head
16c86d96586d7caf1624bb1b4538b4b7965c7237passes the complete GitHub CI run, including macOS, Ubuntu 24.04 and 26.04 release tests, ASan/TSan/MSan, coverage, fuzzing, benchmarks, and all 294 translation units in the complete clang-tidy scan. Requireddone,pre-commitandtrunkchecks pass; the PR is mergeable and up to date with main.