-
Notifications
You must be signed in to change notification settings - Fork 27
Add release governance and version consistency checks #49
base: main
Are you sure you want to change the base?
Add release governance and version consistency checks #49
Conversation
Fixes opencloud-eu#48 - Define who can create releases (maintainers only) - Add simple release process checklist - Document version guidelines for 0.x.x phase - Clarify breaking changes vs features vs fixes This provides the minimal governance structure requested while keeping the process lightweight and community-friendly.
- Validate semver format for all chart versions - Check and warn about version mismatches with git tags - Show which versions will be overwritten during tag releases - Helps prevent accidental version inconsistencies This addresses concerns raised in opencloud-eu#48 about version governance
f0a77a8 to
eec4394
Compare
| # Basic semver check (x.y.z format) | ||
| for version in "$PROD_VERSION" "$DEV_VERSION"; do | ||
| if ! [[ "$version" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will not match 0.x.y-z - Bug fixes only
This change prevents the workflow from overwriting the same chart version multiple times by restricting publishing to tag pushes only. Changes: - Remove 'branches: [main]' trigger from publish workflow - Add strict version validation that requires at least one chart to match the tag - Fail the workflow if no chart matches the tag version (prevents accidental overwrites) This ensures Helm chart versions remain immutable once published, following best practices for package management.
As pointed out by @butonic, the version check should support versions like 0.1.2-1 for bug fix releases as documented in CONTRIBUTING.md
- Add workflow_dispatch input for version suffix (default: test)
- Manual triggers now build to helm-charts-test/ namespace
- Test builds use timestamp-based versions: {version}-{suffix}.{timestamp}
- Ensures clear separation between official releases and test builds
- Official releases remain in helm-charts/ namespace (tag pushes only)
|
@butonic Thanks for catching the pre-release version issue! Fixed in 45a8ad1. However, while implementing this, I discovered a much more serious problem: The workflow was publishing charts on EVERY push to main, potentially overwriting the same version multiple times. This violates the fundamental principle that Helm chart versions should be immutable. I've addressed this with additional commits:
Now:
This should prevent accidental version overwrites and follow Helm best practices. |
|
@butonic @micbar This PR needs urgent attention as it fixes a critical issue: the workflow is currently publishing charts on EVERY push to main, potentially overwriting the same version multiple times. This violates Helm's immutability principle. With each new merge, the problem gets worse. Even though we're in 0.x.x (pre-stable), users and automation still expect that a published chart version doesn't change its content. The PR:
Could you please review and merge this soon? Thank you! |
Add release governance and version consistency checks
This PR addresses #48 by implementing:
1. Release Process Documentation
2. Version Consistency Checks
These changes help ensure consistent versioning across our Helm charts and provide clear guidance for maintainers when creating releases.
Closes #48