Release process guidance

Release version and Docker images

  1. Document all the changes for new release in CHANGELOG.md.
  2. Create the following release tags:
    • git tag v1.xx.y in master branch
    • git tag v1.xx.y-cluster in cluster branch
    • git tag v1.xx.y-enterprise in enterprise branch
    • git tag v1.xx.y-enterprise-cluster in enterprise-cluster branch
  3. Run TAG=v1.xx.y make publish-release. It will create *.tar.gz release archives with the corresponding _checksums.txt files inside bin directory and publish Docker images for the given TAG, TAG-cluster, TAG-enterprise and TAG-enterprise-cluster.
  4. Push release tag to https://github.com/VictoriaMetrics/VictoriaMetrics : git push origin v1.xx.y.
  5. Go to https://github.com/VictoriaMetrics/VictoriaMetrics/releases , create new release from the pushed tag on step 5 and upload *.tar.gz archive with the corresponding _checksums.txt from step 2.

Building snap package.

pre-requirements:

  • snapcraft binary, can be installed with commands: for MacOS brew install snapcraft and install mutipass, for Ubuntu - sudo snap install snapcraft --classic
  • exported snapcraft login to ~/.snap/login.json with snapcraft export-login login.json && mkdir -p ~/.snap && mv login.json ~/.snap/
  • already created release at github (it operates git describe version, so git tag must be annotated).
  1. checkout to the latest git tag for single-node version.
  2. execute make release-snap - it must build and upload snap package.
  3. promote release to current, if needed manually at release page snapcraft-releases

Public Announcement

  • Publish message in Slack at https://victoriametrics.slack.com
  • Post at Twitter at https://twitter.com/MetricsVictoria
  • Post in Reddit at https://www.reddit.com/r/VictoriaMetrics/
  • Post in Linkedin at https://www.linkedin.com/company/victoriametrics/
  • Publish message in Telegram at https://t.me/VictoriaMetrics_en and https://t.me/VictoriaMetrics_ru1
  • Publish message in google groups at https://groups.google.com/forum/#!forum/victorametrics-users

Helm Charts

The helm chart repository https://github.com/VictoriaMetrics/helm-charts/

Bump the version of images.

In that case, don't need to bump the helm chart version

  1. Need to update values.yaml, bump version for vmselect, vminsert and vmstorage
  2. Specify the correct version in Chart.yaml
  3. Update version README.md, specify the new version in the documentation
  4. Push changes to master. master is a source of truth
  5. Rebase master into gh-pages branch
  6. Run make package which creates or updates zip file with the packed chart
  7. Run make merge. It creates or updates metadata for charts in index.yaml
  8. Push the changes to gh-pages branch

Updating the chart.

  1. Update chart version in Chart.yaml
  2. Update README.md file, reflect changes in the documentation.
  3. Repeat the procedure from step 4 previous section.

Wiki pages

All changes from docs folder and .md extension automatically push to Wiki

Note: no vice versa, direct changes on Wiki will be overitten after any changes in docs/*.md

Github pages

All changes in README.md, docs folder and .md extension automatically push to Wiki