Release Guide

This document describes how to release Flagger.

Release

Flagger

To release a new Flagger version (e.g. 2.0.0) follow these steps:

  • create a branch git checkout -b release-2.0.0
  • set the version in code and manifests TAG=2.0.0 make version-set
  • commit changes and merge PR
  • checkout main git checkout main && git pull
  • tag main make release

Flagger load tester

To release a new Flagger load tester version (e.g. 2.0.0) follow these steps:

  • create a branch git checkout -b release-ld-2.0.0
  • set the version in code (cmd/loadtester/main.go#VERSION)
  • set the version in the Helm chart (charts/loadtester/Chart.yaml and values.yaml)
  • set the version in manifests (kustomize/tester/deployment.yaml)
  • commit changes and push the branch upstream
  • in GitHub UI, navigate to Actions and run the push-ld workflow selecting the release branch
  • after the workflow finishes, open the PR which will run the e2e tests using the new tester version
  • merge the PR if the tests pass

CI

After the tag has been pushed to GitHub, the CI release pipeline does the following:

  • creates a GitHub release
  • pushes the Flagger binary and change log to GitHub release
  • pushes the Flagger container image to GitHub Container Registry
  • pushed the Flagger install manifests to GitHub Container Registry
  • signs all OCI artifacts and release assets with Cosign and GitHub OIDC
  • pushes the Helm chart to github-pages branch
  • GitHub pages publishes the new chart version on the Helm repository

Docs

The documentation website is built from the docs branch.

After a Flagger release, publish the docs with:

  • git checkout main && git pull
  • git checkout docs
  • git rebase main
  • git push origin docs

Lastly open a PR with all the docs changes on fluxcd/website to update fluxcd.io/flagger.

Last modified 2022-11-23: update flagger release guide (1e105cd)