No significant code development is performed on a release branch. In addition to preparing release notes and other documentation, the only code changes that should be done are bug fixes identified during release preparations
Here are the steps to follow when creating a BLT release.
1: Start Release Candidate Branch¶
Create a release candidate branch off of the develop branch to initiate a release. The name of a release branch must contain the associated release version number. Typically, we use a name like v0.4.0-rc (i.e., version 0.4.0 release candidate).
git checkout -b v0.4.0-rc
2: Update Versions in Code¶
set(BLT_VERSION "0.4.0" CACHE STRING "")
Update Release Notes
RELEASE-NOTES.mdby changing the
## [Unreleased] - Release date yyyy-mm-dd
Also add to a versioned section with the current date while leaving the unreleased section:
## [Unreleased] - Release date yyyy-mm-dd ## [Version 0.4.0] - Release date 2021-04-09
Finally, add a link to the bottom as well:
[Unreleased]: https://github.com/LLNL/blt/compare/v0.4.0...develop [Version 0.4.0]: https://github.com/LLNL/blt/compare/v0.3.6...v0.4.0
3: Create Pull Request and push a git tag for the release¶
- Commit the changes and push them to Github.
- Create a pull request from release candidate branch to
- Merge pull request after reviewed and passing tests.
- Checkout main locally:
git checkout main && git pull
- Create release tag:
git tag v0.4.0
- Push tag to Github:
git push --tags
4: Draft a Github Release¶
- Enter the desired tag version, e.g., v0.4.0
- Select main as the target branch to tag a release.
- Enter a Release title with the same as the tag v0.4.0
- Copy and paste the information for the release from the
RELEASE-NOTES.mdinto the release description (omit any sections if empty).
- Publish the release. This will add a corresponding entry in the Releases section
Github will add a corresponding tarball and zip archives consisting of the source files for each release.
5: Create Release Branch and Mergeback to develop¶
- Create a branch off main that is for the release branch.
git pull git checkout main git checkout -b release-v0.4.0 git push --set-upstream origin release-v0.4.0
- Create a pull request to merge
developthrough Github. When approved, merge it.