CANU Release Process
-
Once the PR is merged, checkout and update main locally and take a new git-tag (
x.y.z
, no leadingv
)- Prepare your local environment
If your working directory is not clean, please commit or stash your changes in order to checkout the
main
branch.
git checkout main
git pull
git fetch origin --tags
git log --no-walk --tags --pretty="%h %d %s" --decorate=full
* Take a final release tag or a pre-release tag, release tags are considered ***stable*** and pre-release tags are previews that are considered ***unstable***.
Pre-release tags are entirely optional.
* Final release tags follow the [PEP0400 Finale release format](https://peps.python.org/pep-0440/#final-releases) of `X.Y.Z`:
NOTE Historically this repository does NOT prepend
v
to the git-tag.
git tag X.Y.Z
git push orgin --tags
* Pre-release tags follow [PEP0440 pre-release format](https://peps.python.org/pep-0440/#pre-releases) format of `X.Y.Z{[a|b|rc]N}` (e.g. 1.8.0a1, 1.8.0b3, 1.8.0rc1).
NOTE These are entirely OPTIONAL. Examples:
bash git tag 1.8.0a - alpha 0 of 1.8.0 git tag 1.8.0b - beta 0 of 1.8.0 git tag 1.8.0rc - preview/release-candidate 0 of 1.8.0 git tag 1.8.0a1 - alpha 1 of 1.8.0
git tag X.Y.Z{[a|b|rc]N}
git push orgin --tags
-
Navigate to GitHub releases:
https://github.com/Cray-HPE/canu/releases
-
Select “Draft a new release”
-
“Choose a tag” and choose the tag you pushed.
-
Select “autogenerate release notes” to pre-populate the fields.
-
Write a short, quippy title for the release (replacing the autogenerated one, maybe).
-
In the main text write “Overview”, a few short bullet points pulled from the changelog outlining major changes.
-
In the main text write “Detailed Changelog” and paste in the changelog from readme.md.
-
IMPORTANT If this is a pre-release, then check the “Set as a pre-release” box!
- Optionally uncheck the “Set as the latest release” if this release isn’t to be advertised.
-
Click “Publish release”
-
Make sure the
canu
binary RPM exists in artifactory. -
Once new
canu
RPM is created. Navigate to:https://github.com/Cray-HPE/canu/releases
edit release and upload the new RPM can also be downloaded from GitHub.
canu
exists in the pre-install-toolkit, and needs a manifest updated here:
canu
also exists in the CSM tarball, and needs a manfiest update for both its RPM and Docker images here: