blob: e524197463110aba6df7af032b5f9936d1ec2e7d [file] [log] [blame] [view]
# Cutting Periodic "Releases"
The [Bazel Central Registry](https://github.com/bazelbuild/bazel-central-registry)
needs versioned snapshots and cannot consume git revisions directly. To cut a
release, do the following:
1. Pick a new version. The current scheme is `0.YYYYMMDD.0`. If we need to cut
multiple releases in one day, increment the third digit.
2. Update `MODULE.bazel` with the new version and upload to Gerrit.
3. Once that CL lands, make a annotated git tag at the revision. This can be
[done from Gerrit](https://boringssl-review.googlesource.com/admin/repos/boringssl,tags).
The "Annotation" field must be non-empty. (Just using the name of the tag
again is fine.)
4. Create a corresponding GitHub [release](https://github.com/google/boringssl/releases/new).
5. Download the "Source code (tar.gz)" archive from the new release and
re-attach it to the release. (The next step will check that the archive is
correct.)
6. Run `go run ./util/prepare_bcr_module TAG` and follow the instructions. The
tool does not require special privileges, though it does fetch URLs from
GitHub and read the local checkout. It outputs a JSON file for BCR's tooling
to consume.