Release Process
December 22, 2025 ยท View on GitHub
This document describes the release process for the Kor project.
Overview
Kor has two separate release workflows:
- Application Release - Releases the Kor application binary, Docker images, and Krew plugin
- Helm Chart Release - Releases the Helm chart independently
Application Release
Application releases are triggered by pushing a tag with the format v* (e.g., v0.6.7, v1.0.0).
Steps to Release the Application
-
Update the application code and ensure all tests pass
-
Create and push a tag with the
v*format:git tag v0.6.7 git push origin v0.6.7 -
The following will be automatically released:
- GitHub release with application binaries (via GoReleaser)
- Docker images for multiple platforms
- Krew plugin update
- Helm chart (if Chart.yaml version was updated)
Workflow File
See .github/workflows/release.yml
Helm Chart Release
Helm chart releases can be done independently of application releases. This is useful when:
- Fixing bugs in chart templates
- Updating chart documentation
- Modifying chart values or configurations
- Any chart-only changes that don't require an application update
Steps to Release the Chart Only
-
Update the chart version in
charts/kor/Chart.yaml:version: 0.2.10 # Increment the version appVersion: "0.6.6" # Keep the same app version -
Commit the changes to the main branch:
git add charts/kor/Chart.yaml git commit -m "chore: bump chart version to 0.2.10" git push origin main -
Create and push a tag with the format
kor-*matching the new chart version:git tag kor-0.2.10 git push origin kor-0.2.10 -
The Helm chart will be automatically released to the
gh-pagesbranch and made available via:helm repo add kor https://yonahd.github.io/kor helm repo update helm install kor kor/kor --version 0.2.10
Workflow File
See .github/workflows/chart-release.yml
Chart Release Triggers
The chart release workflow is triggered by tags matching:
v*- Application release tags (maintains backward compatibility)kor-*- Chart-only release tags
This ensures that:
- Every application release also releases a chart (if the chart version changed)
- Charts can be released independently without requiring an application release
Best Practices
- Semantic Versioning: Follow SemVer for both application and chart versions
- Chart Version Increments:
- Patch version: Bug fixes, documentation updates
- Minor version: New features, non-breaking changes
- Major version: Breaking changes
- Application Version Alignment: Update
appVersionin Chart.yaml when releasing both application and chart together - Testing: Run chart tests locally before releasing:
helm lint charts/kor helm template charts/kor
Troubleshooting
Chart Release Not Created
If a chart release is not created after pushing a kor-* tag:
- Verify the chart version in
Chart.yamlmatches the tag (e.g.,kor-0.2.10requiresversion: 0.2.10) - Check the GitHub Actions workflow logs
- Ensure the chart version is higher than any existing released version
Application Release Also Releasing Chart
This is expected behavior. Application releases (v* tags) will also trigger the chart release workflow to maintain backward compatibility.