This document describes how to release a new version of Coil.
Follow semantic versioning 2.0.0 to choose the new version number.
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)
- Edit
.github/workflows/ci.yaml
and editkindtest-node
field values. - Edit Kubernetes versions in
README.md
. - Make sure that the changes pass CI.
You should also update sigs.k8s.io/controller-runtime
Go package periodically.
-
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 switch main $ git pull origin main $ git switch -c "bump-$VERSION"
-
Edit
CHANGELOG.md
for the new version (example). -
Edit
v2/version.go
for the new version. -
Edit
v2/kustomization.yaml
and updatenewTag
value for the new version. -
Commit the changes and push it.
$ git commit -a -m "Bump version to $VERSION" $ gh pr create --fill
-
Merge this branch.
-
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"
GitHub actions will build and push artifacts such as container images and create a new GitHub release.