Release Process
Purpose: For contributors, shows the release process including version bump, changelog, and tagging.
Prerequisites
- Push access to the repository
ghCLI installed (for GitHub release creation)- For CLI: mise installed and
mise run buildpassing - For Headlamp:
pnpm run buildandpnpm testpassing
openCenter-cli
1. Run the release task
The mise release task builds binaries for all platforms and generates release notes:
mise run release v1.0.0
This produces:
bin/release/opencenter-1.0.0-linux-amd64bin/release/opencenter-1.0.0-linux-arm64bin/release/opencenter-1.0.0-darwin-amd64bin/release/opencenter-1.0.0-darwin-arm64bin/release/RELEASE_NOTES_1.0.0.md
Release notes are auto-generated from conventional commit messages since the last tag.
2. Test the binaries
Verify the built binaries on target platforms:
./bin/release/opencenter-1.0.0-darwin-arm64 version
3. Tag and push
git tag -a v1.0.0 -m "Release 1.0.0"
git push origin v1.0.0
4. Create the GitHub release
gh release create v1.0.0 \
--title "opencenter 1.0.0" \
--notes-file bin/release/RELEASE_NOTES_1.0.0.md \
bin/release/opencenter-1.0.0-*
openCenter-AirGap
- Update the
versionfield inpyproject.toml - Commit:
git commit -m "chore: bump version to 1.0.0" - Tag:
git tag -a v1.0.0 -m "Release 1.0.0" - Push:
git push origin v1.0.0 - CI builds the Zarf package and attaches it to the GitHub release
headlamp-branding-plugin
- Bump the version in the plugin's
package.json:cd plugins/branding
pnpm version patch # or minor, major - Commit and push
- Tag:
git tag v1.0.1 && git push origin v1.0.1 - GitHub Actions runs tests, builds the plugin, packages it as a ZIP, and creates a release
openCenter-gitops-base
gitops-base uses Git tags for versioning. Customer clusters pin to specific tags via FluxCD GitRepository refs.
- Tag the release:
git tag -a v1.0.0 -m "Release 1.0.0" - Push:
git push origin v1.0.0 - Customer clusters update their GitRepository
ref.tagto the new version
No build artifacts are produced — the repository itself is the artifact, consumed directly by FluxCD.
Versioning conventions
| Repository | Format | Example |
|---|---|---|
| openCenter-cli | SemVer with optional pre-release | v1.0.0, v1.0.0-rc2 |
| openCenter-AirGap | SemVer with optional pre-release | v1.0.0-rc2 |
| headlamp-branding-plugin | SemVer | v1.0.1 |
| openCenter-gitops-base | SemVer | v1.0.0 |
All tags use the v prefix.