Release process and checklist for cilium-cli
.
This repository currently uses release branches v0.10
and master
. All releases stem from
one of these branches. Refer to the Release
table for the most recent supported versions.
- Merge all PRs marked as ready to merge
- Make sure there are no open issues or PRs labeled as release blocker
Set RELEASE
environment variable to the new version. This variable will be
used in the commands throughout the documenat to allow copy-pasting.
For example, if you are releasing v5.4.0
:
export RELEASE=v5.4.0
Update the Releases section of the README.md
which lists all currently
supported releases in a table. The version in this table needs to be updated to
match the new release $RELEASE
.
git checkout -b pr/prepare-$RELEASE
git add README.md
git commit -s -m "Prepare for $RELEASE release"
git push origin HEAD
Then open a pull request against master
branch. Wait for the PR to be reviewed and merged.
Update your local checkout:
git checkout master
git pull origin master
Set the commit you want to tag:
export COMMIT_SHA=<commit-sha-to-release>
Usually this is the most recent commit on master
, i.e.
export COMMIT_SHA=$(git rev-parse origin/master)
Then tag and push the release:
git tag -a $RELEASE -m "$RELEASE release" $COMMIT_SHA && git push origin $RELEASE
When a tag is pushed, a GitHub Action job takes care of creating a new GitHub draft release, building artifacts and attaching them to the draft release. Once the draft is ready, review the release notes and publish the release.
The CLI installation instructions in the Cilium documentation use the version
specified in stable.txt
in the master
branch. Update stable.txt
after the
release, whenever Cilium users should pick up this new release for
installation:
echo $RELEASE > stable.txt
git checkout -b pr/update-stable-$RELEASE
git add stable.txt
git commit -s -m "Update stable release to $RELEASE"
git push origin HEAD
Then open a pull request against master
branch.