Release Process
Overview
This document outlines the process for releasing new versions of Helm charts in this repository.
Release Types
- Patch (0.0.X): Bug fixes and minor changes
- Minor (0.X.0): New features, backward compatible
- Major (X.0.0): Breaking changes
Release Steps
1. Preparation
- Update Chart Version:
# Chart.yaml
version: X.Y.Z # New version
- Update CHANGELOG.md:
```markdown
[X.Y.Z] - YYYY-MM-DD
Added
- New feature A
Changed
- Modified behavior B
Deprecated
- Old feature C
Removed
- Removed feature D
Fixed
- Bug fix E
Security
- Security fix F
```
- Update Documentation:
- README.md if needed
- values.yaml documentation
- Any other relevant docs
2. Testing
- Run Local Tests:
helm lint charts/my-chart
helm template charts/my-chart
helm test my-chart
- CI/CD Checks:
- Wait for all checks to pass
- Address any issues
3. Release Process
- Create Pull Request:
- Title:
Release: Chart-Name vX.Y.Z
- Description: Include changelog
- Review:
- Get required approvals
- Address feedback
- Merge:
- Squash and merge to main
- GitHub Actions will:
- Package the chart
- Push to GitHub Pages
- Create GitHub Release
4. Post-Release
- Verify:
- Chart is published
- Release is created
- Documentation is updated
- Announce:
- Update release notes
- Notify users if needed
Rollback Process
If issues are found after release:
- Create hotfix branch
- Fix the issue
- Follow release process for patch version
- Document the issue and fix
Version Support
- Latest version: Full support
- Previous minor version: Security updates
- Older versions: No support
Questions
For questions about the release process:
- Open a discussion
- Contact maintainers
- Join community meetings