Releases follow a two-step process: first prepare the version bump via PR, then create the GitHub Release.
- Go to Actions > Prepare Release workflow
- Select Run workflow
- Enter the version number (e.g.,
13.0.2) — without thevprefix - Select Run workflow
The workflow will:
- Create a
release/v13.0.2branch - Update version in
Chart.yamlandkustomization.yaml - Regenerate Helm chart CRDs and manifests
- Open a PR titled "Release v13.0.2"
- Review and merge the PR
- Go to the repository's Releases page
- Select Draft a new release
- Select Choose a tag and type the new version (e.g.,
v13.0.2) - Set the Target to
main - Select Create new tag: v13.0.2 on publish
- Set the release title (e.g.,
v13.0.2) - Optionally add release notes describing the changes
- Select Publish release
The publish workflow will automatically:
- Build multi-arch container images
- Publish Helm chart to GitHub Pages and OCI registry
- Update the GitHub release with manifest files
Follow semantic versioning:
- Patch (13.0.X): Bug fixes, no breaking changes
- Minor (13.X.0): New features, backwards compatible
- Major (X.0.0): Breaking changes (see upgrade docs)
For alpha, beta, or release candidate versions:
- Follow the same release process above
- Use semver pre-release format:
v13.1.0-alpha.1,v13.1.0-rc.1 - Check the "Set as a pre-release" checkbox in GitHub Release UI
Pre-releases will:
- Build and publish container images (tagged with the pre-release version)
- Publish Helm chart (with pre-release version)
- NOT update the "latest" Docker tag
- NOT be marked as the latest GitHub release
Note: The "Prepare Release" workflow skips pre-release versions (those containing -).
For pre-releases, use the manual process below to bump versions if needed.
If the automated workflow fails, you can release manually:
-
Run the release script:
./release.sh <previous_version> <new_version>
-
Create a PR with the changes
-
After merge, tag and push:
git checkout main && git pull git tag v<new_version> git push origin v<new_version>