Pre-reqs #
- Make sure you have a signing key configured
Release version and Docker images #
- Make sure all changes since the previous release are listed under
## tipin CHANGELOG.md . Ideally, a change is documented in the same commit that makes it. If not, document it right after that commit. Along with user-visible changes, document API breaks too. - Make sure the release branch has no open security issues. Check the Security tab .
- Prepare the release commit:
- Set the default
VM_OPERATOR_VERSIONin internal/config/config.go to the new version, for examplegetVersion("vX.Y.Z"). The operator uses this value to build the default config-reloader image tag (config-reloader-vX.Y.Z). - Run
make docsto regeneratedocs/env.mdanddocs/api.md. - Cut the new version in CHANGELOG.md
. Add these lines right below
## tip:## [vX.Y.Z](https://github.com/VictoriaMetrics/operator/releases/tag/vX.Y.Z) **Release date:** DD Month YYYY - Open a PR like
cut release vX.Y.Zwith these changes and merge it.
- Set the default
- Tag the merged commit and push both tags to the origin:
git tag vX.Y.Z # operator git tag api/vX.Y.Z # operator's api Go module (api/go.mod) git push origin vX.Y.Z api/vX.Y.Z - Go to the GitHub Releases page
and click
Draft a new releasefor thevX.Y.Ztag. - Paste this release’s section from CHANGELOG.md
into the release description, then publish the release.
Publishing starts the Release
workflow. It builds, pushes and signs the operator and config-reloader images, builds the OLM bundle,
and attaches
install-no-webhook.yaml,install-with-webhook.yaml,crd.yamlandolm-bundle.tar.gzto the release.
Release follow-up #
Wait until github CI job Release finishes.
Bump the version of images #
The helm chart repository https://github.com/VictoriaMetrics/helm-charts/
Merge PR
with the following name pattern - Automatic update operator crds from VictoriaMetrics/operator@* if there is any.
Bump tag field in values.yaml with new release version.
Bump appVersion field in Chart.yaml with new release version.
Add new line to “Next release” section in CHANGELOG.md about version update (the line must always start with “-”). Do NOT change headers in CHANGELOG.md.
Bump version field in Chart.yaml with incremental semver version (based on the CHANGELOG.md analysis).
Do these updates to the following charts:
Update
operatorchart version invalues.yamlandChart.yamlUpdate
crdschart version invalues.yamlPush changes to the origin and release
operatorandcrdscharts by triggering Release Charts CI action.Wait for CI finish
Bump
appVersionfield in k8s-stackChart.yamlwith new release version.bump
dependencieswithname: victoria-metrics-operatorto follow version of recently release operator chart