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 updated