This document describes how to release a new version of TopoLVM.
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. Export it as an environment variable:
$ VERSION=1.2.3 $ export VERSION
-
Checkout
master
branch. -
Make a branch to release, for example by
git neco dev bump-$VERSION
-
Update
version.go
. -
Update image versions in documents.
$ sed -r -i "s/:[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/:${VERSION}/g" \ deploy/README.md deploy/manifests/*.yaml
-
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 neco review
-
Merge the new pull request.
-
Add a new tag and push it as follows:
$ git checkout master $ git pull $ git tag v$VERSION $ git push origin v$VERSION
Once a new tag is pushed to GitHub, CircleCI automatically builds a tar archive for the new release, and uploads it to GitHub releases page.
Visit https://github.com/cybozu-go/topolvm/releases to check the result. You may manually edit the page to describe the release.