Release Process
info
This section is a work in progress and needs automation 🙂
Prerequisites
- Make sure your GPG is available on GitHub at
https://github.com/<username>.gpg
. This can be added at https://github.com/settings/keys.- If you haven't already, open a PR to add your GPG key to the
KEYS
file (see file for instructions).
- If you haven't already, open a PR to add your GPG key to the
- Open a bump PR to build with the latest golang: replace go version of the binary and image to match the latest stable version. Skippable if the latest version is already used.
- (patch-release-only) Cherry-pick or backport the fix commits to the patch release branch. Make sure applicable critical and high CVE patches are on the release branch.
Request to vote and merge
- Open a PR to update the
oras
version: replace the current version with the upcoming release version.- The target branch is:
main
if releasing a new version.release-<major>.<minor>
if releasing a patch.
- The title should be
bump: tag and release ORAS CLI v<major>.<minor>.<patch>[-<pre-release>]
. - The description must reference the digest of version bump up commit for voting.
- The target branch is:
- Send a message to the ORAS slack channel to call for a vote on the release PR.
- The target commit should be the SHA digest of the last commit in the release PR
- If the vote PR has a super-majority of approval from ORAS maintainers, then the PR could be merged into the target branch.
- Make sure that
- the PR is merged with
Create a merge commit
option. - the merge commit title should be generated by GitHub.
- the merge commit message should be the signoff info.
- the PR is merged with
- Make sure that
- (optional) Cut off a release branch named
release-<major>.<minor>
on the tagged commit ONLY when releasing a new minor version.