This document describes how to release a new version of cke.
Given a version number MAJOR.MINOR.PATCH. The MAJOR and MINOR version matches that of Kubernetes. The patch version is increased with CKE update.
Add notable changes since the last release to CHANGELOG.md. It should look like:
(snip)
## [Unreleased]
### Added
- Implement ... (#35)
### Changed
- Fix a bug in ... (#33)
### Removed
- Deprecated `-option` is removed ... (#39)
(snip)
-
Determine a new version number. Then set
VERSION
variable.# Set VERSION and confirm it. It should not have "v" prefix. $ VERSION=x.y.z $ echo $VERSION
-
Make a branch to release
$ git checkout main $ git pull $ git checkout -b "bump-$VERSION"
-
Update
version.go
. -
Edit
CHANGELOG.md
for the new version (example). -
Commit the change and create a pull request.
$ git commit -a -m "Bump version to $VERSION" $ git push -u origin HEAD $ gh pr create -f
-
When updating to
x.y.0
or its RC, run Sonobuoy test manually and make sure that it has been passed. -
Merge the pull request.
-
Add a git tag to the main HEAD, then push it.
# Set VERSION again. $ VERSION=x.y.z $ echo $VERSION $ git checkout main $ git pull $ git tag -a -m "Release v$VERSION" "v$VERSION" # Make sure the release tag exists. $ git tag -ln | grep $VERSION $ git push origin "v$VERSION"
Then GitHub Actions automatically builds and pushes the tagged container image to ghcr.io.
GitHub Actions also creates a GitHub release automatically after running sonobuoy tests. So, DO NOT MANUALLY CREATE GITHUB RELEASES. The test results will be attached to the GitHub release that can be submitted to cncf/k8s-conformance.
After new CKE released, update cke image on docker-compose.yml.