Skip to content

fix(ci): bump rules_cc to 0.2.17 to unbreak RBE#3788

Open
kevinpark1217 wants to merge 1 commit into
bazel-contrib:mainfrom
kevinpark1217:fix-ci-bump-rules-cc
Open

fix(ci): bump rules_cc to 0.2.17 to unbreak RBE#3788
kevinpark1217 wants to merge 1 commit into
bazel-contrib:mainfrom
kevinpark1217:fix-ci-bump-rules-cc

Conversation

@kevinpark1217
Copy link
Copy Markdown
Contributor

@kevinpark1217 kevinpark1217 commented May 18, 2026

Why

RBE has been failing on every recent build (e.g. main HEAD build 15455) with:

cannot load '@@rules_cc+//cc/toolchains:feature_injection.bzl': no such file

BazelCI's injected buildkite_config//cc/cc_toolchain_config.bzl now loads feature_injection.bzl unconditionally. That file landed in rules_cc 0.2.17; the current pin is 0.1.5. RBE uses bzlmod (see .bazelrc), so the bzlmod pin is what matters.

What changed

Bzlmod rules_cc pin only: 0.1.50.2.17 in MODULE.bazel and tests/integration/local_toolchains/MODULE.bazel.

WORKSPACE http_archive pins are intentionally left at 0.1.5. Bumping them broke 22 jobs in the first push to this PR (build 15462) because rules_cc 0.2.17 requires WORKSPACE consumers to also call compatibility_proxy_repo() — a breaking change for downstream users. WORKSPACE jobs don't use RBE in this repo.

Test plan

Reproduced both the original RBE break and the workspace regression in a Docker container, then verified the split-pin fix locally:

  • WORKSPACE Bazel 7.4.1: bazel build //python/... + examples/multi_python_versions //... pass
  • Bzlmod Bazel 9.1.0: bazel mod graph resolves rules_cc@0.2.17; cc/toolchains/feature_injection.bzl is present
  • RBE itself can only be exercised on BazelCI

Surfaced while investigating CI on #3775/#3776 (backports for #3773).

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the rules_cc dependency from version 0.1.5 to 0.2.17 across multiple configuration files, including MODULE.bazel, internal_dev_deps.bzl, python/private/py_repositories.bzl, and the integration test module. This update is necessary to expose cc/toolchains:feature_injection.bzl for RBE support. I have no further feedback to provide.

RBE on BazelCI has been failing for every recent PR with:

  ERROR: error loading package '@@+internal_dev_deps+buildkite_config//cc':
    .../cc_toolchain_config.bzl:35:6:
    cannot load '@@rules_cc+//cc/toolchains:feature_injection.bzl': no such file

BazelCI's injected `buildkite_config//cc/cc_toolchain_config.bzl`
unconditionally loads `feature_injection.bzl`, which was added in
`rules_cc` 0.2.17 (commit 64024621, 2026-02-11). The previously-pinned
0.1.5 does not have it, so RBE jobs fail at analysis time.

Bump the bzlmod and WORKSPACE/`http_archive` pins everywhere `rules_cc`
is declared: `MODULE.bazel`, `python/private/py_repositories.bzl`,
`internal_dev_deps.bzl`, and `tests/integration/local_toolchains/MODULE.bazel`.
All `@rules_cc//...` load paths used by rules_python are unchanged in
0.2.17.
@kevinpark1217 kevinpark1217 force-pushed the fix-ci-bump-rules-cc branch from d13b4f3 to bafac01 Compare May 18, 2026 11:37
@kevinpark1217 kevinpark1217 marked this pull request as ready for review May 18, 2026 12:30
@kevinpark1217
Copy link
Copy Markdown
Contributor Author

@rickeylev @aignas Simple fix for the current CI failures in main branch.

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