Release Process¶
Note
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¶
Update BLT_VERSION
SetupBLT.cmake
:set(BLT_VERSION "0.4.0" CACHE STRING "")
Update Release Notes
Update
RELEASE-NOTES.md
by changing theunreleased
section from:
## [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.3.6...develop
to:
[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
main
branch.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.md
into the release description (omit any sections if empty).Publish the release. This will add a corresponding entry in the Releases section
Note
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
main
intodevelop
through Github. When approved, merge it.
7: Build Release Documentation¶
Enable the build on readthedocs version page for the version branch created in step 5.