Repository navigation
Fix release compiler selection and Bazel module setup - #582
Merged
Merged
Conversation
helly25
had a problem deploying
to
github-pages
November 10, 2026 01:47 — with
GitHub Actions
Failure
This branch had an error being deployed
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.
Make the release build use mbo's pinned Clang toolchain and make the Bazel registry checks use supported compilers. Correct the generated module setup instructions before publishing 0.16.0.
AG;DR
--config=clangto the reusable release workflow's build/test command. Its runner is separate from coverage and does not inherit coverage's compiler selection; relying on Ubuntu's default compiler can select an unsupported baseline.signed-bykey. Configure Bazel's native toolchain to use libc++ for header discovery, compilation, and linking instead of silently retaining Ubuntu's unsupported libstdc++. Apple Clang retains both macOS deployment flags at 11.0; both platforms receive target and host C++23 flags. BCR uses Clang on both platforms; GCC remains covered by main CI and independent archive consumers.mbo-<tag>.tar.gzand itsmbo-<version>/prefix already match, so leave it unchanged; the publisher computes archive integrity. Add maintainergithub_user_id: 6420169to the metadata template, matching the published registry entry and GitHub's public user record. Current BCR metadata validation rejects the missing ID.MODULE.bazel, tag-pin module links, and explicitly register the copied LLVM toolchain (or select it only in a named configuration). Document consumer-owned C++23/deployment flags. Stop recommending copying the checkout-only development module, which now refers to repository-local xxHash fixtures.Validation:
bazel test //...(210 passed, one configured skip); exact corrected release commandbazel test --config=clang //... --test_tag_filters=-lfson the final pushed head (209 passed, one configured skip); all 310 infrastructure tests and all applicable focused pre-commit hooks passed. Real archive packaging/validation passed. All ten BCR targets built as independent archive dependencies on macOS. The exact Ubuntu BCR image also built all ten targets and ran the independent consumer using the actual presubmit setup commands and environment (Clang 23.1.6/libc++ 230106), without changes to the pushed tree. The full PR matrix must pass before merging; exact merged-main CI must pass before tagging.Local verification note: an initial x86 compiler process crashed under ARM-host emulation, and the native comparison encountered a full Docker VM disk. After targeted cleanup of only task-created diagnostic resources, the unchanged x86 build and consumer completed successfully. No checks, compiler diagnostics, signature verification, or repository policies were weakened to obtain that result.
Portability/limitations: no compiler, warning, sanitizer, coverage, or release-readiness gate is weakened. BCR Linux setup requires the official LLVM APT repository (https://apt.llvm.org/); BCR may require a maintainer's
presubmit-auto-runlabel for changed setup commands. Registry publication remains a normal post-release draft PR, not a bypass of upstream review. No release tag or assets have been published by this change.Follow-up (not part of this release): add a dedicated BCR test module whose root declares the hermetic LLVM toolchain and its own
clangconfiguration. BCR's current anonymous root does not inherit mbo's.bazelrcor development LLVM module, so passing--config=clangalone is not valid there. The explicit Clang/libc++ setup above is retained for 0.16.0.