mirror of
https://github.com/cassandra/home-information.git
synced 2026-04-21 06:57:36 -04:00
3.0 KiB
3.0 KiB
Release Process
Overview
Releases are managed through a structured branch workflow where:
- All development work occurs in feature branches
- Feature branches are merged into the
stagingbranch via pull requests - The
masterbranch serves as the release branch - Releases involve merging accumulated changes from
stagingintomaster
Prerequisites
- Direct repository access (core maintainers only)
- Local development environment properly configured
- All target changes already merged into
stagingbranch
Pre-Release Verification
Before starting the release process, verify the staging branch is ready:
- Confirm CI Status: Ensure all GitHub Actions checks are passing on
staging - Run Local Validation: Execute tests and linting as a sanity check
make check - Review Recent Changes: Check recent commits and merged PRs for any concerns
Release Steps
1. Prepare Staging Branch
- Switch to
stagingbranch locally - Sync your local
stagingbranch with remote/upstream:git checkout staging git pull github staging
2. Update Version Number
- Bump the version number in
HI_VERSIONfile following semantic versioning - Commit the version change directly to upstream
staging:git add HI_VERSION git commit -m "Bump version number to vX.X.X" git push github staging
3. Merge to Master
- Switch to local
masterbranch and sync with remote:git checkout master git pull github master - Merge from
stagingintomaster:git merge staging git push github master
4. Create GitHub Release
- Navigate to the GitHub repository releases page
- Click "Create a new release"
- Tag: Create new tag in format
vX.X.X - Target: Set to
masterbranch - Title: Use the tag name (e.g.,
v1.2.3) - Description: Use "Generate release notes" button and edit as needed
- Settings:
- Check "Set as the latest release" (typically)
- Leave "Set as a pre-release" unchecked (for stable releases)
- Click "Publish Release"
Future Considerations
Version Bumping Criteria
TBD - Establish clear guidelines for when to increment:
- Major version (breaking changes)
- Minor version (new features, backward compatible)
- Patch version (bug fixes, backward compatible)
Rollback Procedures
TBD - Document rollback procedures for failed releases:
- How to revert problematic releases
- Communication protocols for rollback situations
- Testing procedures post-rollback
Notes
- Changelog Management: Release notes are generated from GitHub's automatic changelog feature rather than maintaining a separate changelog file
- Deployment: Current releases are distributed as downloadable packages for self-installation
- Quality Assurance: GitHub branch protection rules enforce passing tests and code quality checks before PRs can merge to
staging