A GitHub app that mirrors releases of your Bazel ruleset to the Bazel Central Registry.
Prepare your ruleset for bzlmod by following the Bzlmod User Guide.
-
Configure the app for two repositories:
- Your ruleset repository.
- A fork of bazelbuild/bazel-central-registry. The fork can be in the same GitHub account as your ruleset or in the release author's personal account. If you use release automation and the release author is the github-actions bot, then the fork must be in ruleset's account unless you override the releaser.
Note: Authors of rulesets under the
bazelbuild
org should add the app to their personal fork ofbazelbuild/bazel-central-registry
. -
Include these template files in your ruleset repository.
-
Cut a release. A pull request like this will be opened against the BCR.
Multple modules that are versioned together in the same git repository can be published by configuring moduleRoots
.
Include patches in the BCR entry by adding them under .bcr/patches
in your ruleset repository. All patches must have the .patch
extension and be in the -p1
format.
For example, a patch in .bcr/patches/remove_dev_deps.patch
will be included in the entry's pull request and will be referenced in the
corresponding source.json
file:
{
...
"patch_strip": 0,
"patches": {
"remove_dev_deps.patch": "sha256-DXvBJbXZWf3hITOIjeJbgER6UOXIB6ogpgullT+oP4k="
}
}
To patch in a submodule, add the patch to a patches folder under the submodule path .bcr/[sub/module]/patches
where sub/module is the path to the WORKSPACE folder relative to the repository root.
Create an issue in this repository for support.