Skip to content

A GitHub app that mirrors releases of your Bazel ruleset to the Central Registry

License

Notifications You must be signed in to change notification settings

bazel-contrib/publish-to-bcr

Repository files navigation

Publish to BCR

A GitHub app that mirrors releases of your Bazel ruleset to the Bazel Central Registry.

Prerequisites

Prepare your ruleset for bzlmod by following the Bzlmod User Guide.

How it works

  1. 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 of bazelbuild/bazel-central-registry.

  2. Include these template files in your ruleset repository.

  3. Cut a release. A pull request like this will be opened against the BCR.

Publishing multiple modules in the same repo

You can publish BCR entries for multiple modules that exist in your git repository by configuring moduleRoots.

Including patches

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.

Reporting issues

Create an issue in this repository for support.

About

A GitHub app that mirrors releases of your Bazel ruleset to the Central Registry

Resources

License

Stars

Watchers

Forks

Languages