Release Process Proposal
@cfrantz is already working on this.
Since May 13, 2026.
- Dominant language
- Starlark
- Stars
- 1
- Forks
- 7
- Avg merge
- 4d 14h
- Merged PRs (30d)
- 6
Description
Release Process Proposal
Goal: avoid committing binaries to this repo.
Proposal: Use github releases as the provider for binary artifacts. Use bazel
to reference github release archive URLs to access the necessary binary
artifacts.
Pre-work
-
Allow attaching additional bazel repos into the provisioning extensions repo.
These additional repos get symlinked into a hub repo named
@provisioning_exts_extra. These additional repos are:presign_persopresign_rom_extperso_releaserom_ext_release
The URIs and names of these additional repos are controlled by
//skus/extras.json.
Release Process
- Tag the codebase:
ROM_EXT_BUILD_20260513_rc00PERSO_BUILD_20260513_rc00
- Build the ROM_EXT or perso binaries at the tag. Publish the resulting
archives as a github release. Note: the release archive contains both
presigning binaries and digests. - Create a branch at the tag and update the
presign_member(s) of
extras.json. Push the branch. - Perform the offline signing ceremony and sign the digests in the presigning
archive. - Create a PR with the signatures from the offline ceremony. Submit that PR to
the branch. - Build signed binaries from the the release branch using the presigning
binaries from the archive. Publish the signed binaries as a github release. - Update the
releasemember(s) ofextras.json. Tag the branch with a
release tag (e.g.ROM_EXT_RELEASE_20260513_rc00). Push the branch and
tags. - Merge the changes to
extras.jsonfrom the branch into themainbranch.
Automation
Add github actions to assist with automating the two halves of the release
process.
- Pre-signing automation: Steps 1..3.
- Post-signing release: Steps 5..8.
Potential Problems
The opentitan codebase currently uses a repository extension to hook the
ot-sku codebase into the opentitan codebase (as @provisioning_exts). The
opentitan repo doesn't watch the extras.json file in the downstream codebase.
Updates to extras.json require refreshing the repository mapping to allow the
hub repo @provisioning_exts_extra to see the updates.
TODO: Investigate making the @provisioning_exts repo a bazel_dep and use the
commandline --override_repository=provisioning_exts=<path> to connect ot-sku
into the main repo. Build the hub repository as an extension inside of the
ot-sku repo. Does this resolve the issue?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.