Releases are performed by maintainers and should usually be discussed and planned at a maintainer meeting.
- Choose the version number. It should be prefixed with
v
, e.g.v1.2.3
- Take a quick scan through the PRs and issues to make sure there isn't anything crucial that must be in the next release.
- Create a draft of the release note
- Discuss the level of testing that's needed and create a test plan if sensible
- Check what version of
go
is used in the build container, updating it if there's a new stable release.
- Make sure you are on the master branch and don't have any local uncommitted changes.
- Create a signed tag for the release
git tag -s $VERSION
(Ensure that GPG keys are created and added to GitHub) - Push the tag to git
git push origin <TAG>
- Create a release on Github, using the tag which was just pushed.
- Add the release note to the release.
- Announce the release on at least the CNI mailing, IRC and Slack.