Skip to content

Setup publish-to-bcr - #43

Open
AustinSchuh wants to merge 3 commits into
wpilibsuite:mainfrom
AustinSchuh:bcr_publish
Open

AustinSchuh wants to merge 3 commits into
wpilibsuite:mainfrom
AustinSchuh:bcr_publish

Conversation

@AustinSchuh

Copy link
Copy Markdown
Contributor

No description provided.

@pjreiniger pjreiniger left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Spicy. TL;DR I don't hate it, but ping me at kickoff

I'm a big proponent of moving fast and breaking things, but there are so many things in flux at the moment, and I feel like publishing to the BCR is premature in the alpha test situation we are in.

This is the correct way to go, but I would like a little bit more dust to settle before "going public". I'm guessing there will be a bit of churn on the the toolchains before they are released to teams, and much, much more churn on all the underlying things that it takes to get allwpilib and dependents to build.

ps: I will always dislike publishing a hyper specific opencv to the BCR

Comment thread .bcr/metadata.template.json Outdated
Comment thread .bcr/metadata.template.json Outdated
"name": "PJ Reiniger"
},
{
"github": "calcmogul",

@pjreiniger pjreiniger Jun 9, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Does Tyler want to be associated with this?

I feel like a more appropriate maintainer would be Thad (professional bazel hater, but probably the SME on the toolchains), or Peter

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I added @PeterJohnson , happy to add more.

@AustinSchuh

Copy link
Copy Markdown
Contributor Author

Sounds good. This took me a couple of minutes, and felt like a better conversation starter than continuing to debate in slack :)

Happy to wait too. There's also something to be said for learning about the process early. We personally know everyone who would want to use this.

@pjreiniger

Copy link
Copy Markdown
Collaborator

We personally know everyone who would want to use this.

Its somewhere between the spiderman pointing meme, and Arrested Development "there are dozens of us"

Signed-off-by: Austin Schuh <austin.linux@gmail.com>
The homepage and repository fields were updated to the new repo name,
but the release download URL still pointed at the old
rules_bzlmodrio_toolchains slug.  It only worked via GitHub's rename
redirect, and the BCR wants the canonical URL.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Sje4BjZfTjEEVV2vh8VeuF
AustinSchuh added a commit to AustinSchuh/bazel-central-registry that referenced this pull request Sep 5, 2026
Adds the WPILib Bazel toolchains module to the registry. Sources come
from the 2027-1.bcr1 release of wpilibsuite/bazel_wpilib_toolchains; the
.bcr/ templates land separately in
wpilibsuite/bazel_wpilib_toolchains#43, so this
entry is generated by hand.

Verified locally on Debian 13 with Bazel 8.5.0 and 9.2.0: `//...` in the
module builds clean under both. The tests module builds and tests clean
under 8.5.0 but not 9.x, because the googletest 1.14.0 it pins uses bare
cc_library, so bcr_test_module is capped at 8.x for now.
AustinSchuh added a commit to AustinSchuh/bazel-central-registry that referenced this pull request Sep 8, 2026
Adds the WPILib Bazel toolchains module to the registry. Sources come
from the 2027-1.bcr1 release of wpilibsuite/bazel_wpilib_toolchains; the
.bcr/ templates land separately in
wpilibsuite/bazel_wpilib_toolchains#43, so this
entry is generated by hand.

config_setting_visibility.patch makes //constraints/combined public.
selects.config_setting_group generates internal config_setting targets
with no explicit visibility, and
--incompatible_config_setting_private_default_visibility flips their
default from public to private, so //jni:jni can no longer see
//constraints/combined:is_cross_compiler. The same fix belongs upstream
for the next release.

Verified locally on Debian 13. //... in the module builds clean under
Bazel 8.5.0 and 9.2.0; the tests module builds and tests clean under
8.5.0 but not 9.x, because the googletest 1.14.0 it pins uses bare
cc_library, so bcr_test_module is capped at 8.x for now. Both modules
also pass with every 8.x flag from incompatible_flags.yml applied.
kotlaja pushed a commit to bazelbuild/bazel-central-registry that referenced this pull request Sep 8, 2026
Adds the WPILib Bazel toolchains module (`wpilib_toolchains`) to the
registry.

Sources are the [2027-1.bcr1
release](https://github.com/wpilibsuite/bazel_wpilib_toolchains/releases/tag/2027-1.bcr1)
of `wpilibsuite/bazel_wpilib_toolchains`. The `.bcr/` templates and
`publish-to-bcr` workflow are still in review upstream
([wpilibsuite/bazel_wpilib_toolchains#43](wpilibsuite/bazel_wpilib_toolchains#43)),
so this first entry is hand-generated from those templates; subsequent
releases will be published automatically.

Verified locally against Bazel 8.5.0 — `bazel build //...` in the module
and `bazel test //:main //:test` in the `tests` module both pass — and
`tools/bcr_validation.py --check wpilib_toolchains@2027-1.bcr1` reports
no failures.
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