This document describes how to create a new release of AzureAutoHibernate.
- You must have push access to the repository
- All changes for the release must be merged to
main
Create a branch to update the changelog:
git checkout main
git pull origin main
git checkout -b release-vX.Y.ZUpdate CHANGELOG.md to move items from [Unreleased] to a new version section:
## [Unreleased]
- (nothing yet)
---
## [X.Y.Z] - YYYY-MM-DD
### Added
- (move items from Unreleased here)
### Changed
- (move items from Unreleased here)Commit and push:
git add CHANGELOG.md
git commit -m "Prepare release vX.Y.Z"
git push origin release-vX.Y.ZOpen a PR from release-vX.Y.Z to main and merge it after review.
After the PR is merged:
git checkout main
git pull origin main
git tag vX.Y.Z
git push origin vX.Y.ZPushing the tag triggers the GitHub Actions release workflow which:
- Runs tests
- Builds both executables with version info embedded
- Packages them into a zip file
- Extracts release notes from the
[X.Y.Z]section in CHANGELOG.md - Creates a GitHub Release with the zip and release notes
Follow Semantic Versioning:
- Major (X): Breaking changes
- Minor (Y): New features, backward compatible
- Patch (Z): Bug fixes, backward compatible
This warning appears when the release workflow can't find a matching version section. Make sure you:
- Updated CHANGELOG.md before pushing the tag
- Used the correct format:
## [X.Y.Z](without thevprefix) - The version in the tag matches the version in the changelog
If you need to redo a release:
# Delete the remote tag
git push origin --delete vX.Y.Z
# Delete the local tag
git tag -d vX.Y.Z
# Make your fixes via PR, then re-tag after merge
git checkout main
git pull origin main
git tag vX.Y.Z
git push origin vX.Y.ZNote: You may also need to delete the GitHub Release manually if one was created.