This repository hosts the S-Core Bazel module registry. It provides versioned Bazel modules for use with Bzlmod and automates tracking of upstream module releases.
The registry does not host module source code. It only contains metadata and release information.
To add a new module:
- Create
modules/<module_name>/metadata.json, using existing metadata files as reference. Setperiodic-pull: truein the metadata file to enable automatic release tracking. - Open and merge a pull request
- After merging, add the first release using the release process below
Module releases are handled automatically if periodic-pull: true is set in the
module's metadata file.
A scheduled GitHub Actions workflow:
- runs every 30 minutes
- checks upstream GitHub releases
- opens a pull request when a new release is detected
If periodic-pull: true is NOT set, releases must be added manually:
trigger the "Check for Module Updates" workflow manually via GitHub Actions
and provide the module name as input.
If a release is needed immediately, trigger the "Check for Module Updates" workflow manually via GitHub Actions.
Add the S-Core registry to your Bazel configuration. It is typically used alongside the Bazel Central Registry (BCR).
Add the registry to your .bazelrc:
common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build
This section is only relevant if you are working on the registry tooling.
The registry tooling is implemented in Python.
Setup steps:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# Run script via:
python -m src.registry_manager.mainmodules/- Bazel module metadata and versioned module entriessrc/- Registry management scriptstests/- Test suite for the registry scripts.github/- GitHub Actions workflows and scheduled automation
Please use GitHub Issues and pull requests for questions, bug reports, and improvements. You can also reach us via #score-infrastructure on the S-Core Slack.
Keep issues scoped to registry behavior, automation, and metadata correctness. Module-specific issues should generally be reported upstream.