This document describes how to release a new version of meows.
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)
-
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 -c "bump-$VERSION"
-
Edit
CHANGELOG.md
for the new version (example). -
Bump image version.
sed -i -E "s/(.*newTag: ).*/\1${VERSION}/" config/controller/kustomization.yaml config/agent/kustomization.yaml sed -i -E "s/(.*Version = ).*/\1\"${VERSION}\"/" constants.go
-
Commit the change and push it.
git commit -a -m "Bump version to $VERSION" git push origin "bump-$VERSION"
-
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.