This document describes the versioning scheme and release process for the strimzi/github-actions repository.
| Concept | Format | Example | Description |
|---|---|---|---|
| Release tag | vX.Y |
v1.0, v1.3 |
Immutable tag pointing to a specific release commit |
| Floating major tag | vX |
v1, v2 |
Always points to the latest vX.Y release |
| Release branch | release-X.x |
release-1.x |
Branch for a major version series |
We will then pin to a specific version (v1.2) for full reproducibility, or use the floating major tag (v1) to automatically get the latest patch within a major version.
Before the first release of a new major version, create a release branch from main:
git checkout main
git pull
git checkout -b release-1.x
git push origin release-1.xOnce you will push the changes, the tests will be automatically triggered and can be review in Actions UI or in commits list.
The release is performed via the Release workflow (release.yml), triggered manually using workflow_dispatch on a release-X.x branch.
| Input | Required | Description |
|---|---|---|
version |
No | Release version (e.g., 1.3). If empty, the minor version is auto-incremented from the latest vX.Y tag. Note that v is prepended autoamtically and shouldn't be in input string. |
description |
No | Custom release description prepended before the auto-generated changelog. |
When version is left empty, the workflow finds the latest vX.Y tag for the branch's major version and increments the minor number.
If no tags exist yet, it starts at X.0.
- Go to Actions > Release in GitHub.
- Click Run workflow.
- Select the target
release-X.xbranch. - Optionally enter a version and/or description.
- Click Run workflow.
- Validates the branch matches the
release-X.xpattern and extracts the major version. - Determines the version — either from the manual input or by auto-incrementing.
- Checks that the tag does not already exist.
- Creates and pushes the
vX.Ytag. - Force-updates the floating
vXtag to point to the same commit. - Generates release notes using GitHub's auto-generated changelog, optionally prepended with a custom description.
- Creates a GitHub Release with the generated notes.
Warning
To ensure that actions remain functional across all Strimzi projects, compatibility between N and N-1 versions of the github-actions repository must be maintained.
This must be honored by every change made after the first release.