Major versions (e.g., v4.6.0) are tagged directly on the main branch. Minor versions (e.g., v4.6.3) are tagged on a separate release branch.
-
Update
CHANGELOG.md.-
Identify the release date by changing "unreleased" to a date with
%Y-%m-%dformat, following existing convention in the log. -
Do any final clean-up. (e.g., remove redundancy, add issue or PR numbers, add missing changes)
git log --graph --oneline --decorate origin/main origin/v4.6.x
-
-
Update
userdocsreferences that imply the latest release to refer to the new version. -
Add full release notes to
userdocs/release/and updateuserdocs/index.rst. -
Add summarized release notes to
.github/releases/. -
Cherry-pick updates to a release branch if necessary. (i.e., when not doing a new major release)
git cherry-pick -x -m1 --signoff -
Create a signed tag for the release of the format v4.MINOR.PATCH, following the format specified in <MAINTAINING.md>.
git tag --sign v4.6.5; git push origin v4.6.5 -
Monitor the release action associated with the pushed tag at https://github.com/warewulf/warewulf/actions, and verify the generated draft release contains the expected artifacts. This includes the source tarball and RPMs for Suse and Rocky Linux.
-
Update the release notes for the release with the summary in
.github/releases/. -
Confirm the correct values for the pre-release and latest release flags.
-
Publish the release.
-
Announce the release as a post to warewulf.org/news, linking to the GitHub release.
-
Announce the release on the Warewulf Slack, linking to the warewulf.org/news post.