This document describes how to release a new version of TopoLVM.
Follow semantic versioning 2.0.0 to choose the new version number.
In the release procedure for both the app and Helm Chart, the release note is generated automatically, and then it is edited manually. In this step, PRs should be classified based on Keep a CHANGELOG.
The result should look something like:
## What's Changed
### Added
* Add a notable feature for users (#35)
### Changed
* Change a behavior affecting users (#33)
### Removed
* Remove a feature, users action required (#39)
### Fixed
* Fix something not affecting users or a minor change (#40)
-
Determine a new version number by checking the differences since the last release. Then, define the
VERSION
variable.VERSION=1.2.3
-
Add a new tag and push it.
git switch main git pull git tag v$VERSION git push origin v$VERSION
-
Once a new tag is pushed, GitHub Actions automatically creates a draft release note for the tagged version, builds a tar archive for the new release, and attaches it to the release note.
Visit https://github.com/topolvm/topolvm/releases to check the result.
-
Edit the auto-generated release note and remove PRs which contain changes only to the helm chart. Then, publish it.
TopoLVM Helm Chart will be released independently. This will prevent the TopoLVM version from going up just by modifying the Helm Chart.
-
Determine a new version number by checking the differences since the last release. Then, manually run the workflow to create a PR to update the Helm Chart.
https://github.com/topolvm/topolvm/actions/workflows/create-chart-update-pr.yaml
-
Review and merge the auto-created PR.
-
Manually run the GitHub Actions workflow for the release.
https://github.com/topolvm/topolvm/actions/workflows/helm-release.yaml
When you run workflow, helm/chart-releaser-action will automatically create a GitHub Release.
-
Edit the auto-generated release note as follows:
- Select the "Previous tag", which is in the form of "topolvm-chart-vX.Y.Z".
- Clear the textbox, and click "Generate release notes" button.
- Remove PRs which do not contain changes to the helm chart.