Major versions (e.g., v4.5.0) are tagged directly on the main branch. Minor versions (e.g., v4.5.3) are tagged on a separate release branch.
- Update
CHANGELOG.md
.- Identify the release date by changing "unreleased" to a date with
%Y-%m-%d
format, following existing convention in the log. - Do any final clean-up. (e.g., removing redundancy, adding issue or PR numbers).
- Identify the release date by changing "unreleased" to a date with
- Update
userdocs
implicit references to the latest version.contents/installation.rst
contributing/development-environment-vagrant.rst
quickstart/debian12.rst
quickstart/el.rst
references that imply the latest release to refer to the new version.
- Cherry-pick updates from 1 and 2 above to a release branch if necessary. (i.e., when not doing a new major release)
- Create a signed tag for the release of the format v4.MINOR.PATCH,
following the format specified in <MAINTAINING.md>. (e.g.,
git tag --sign v4.5.3; git push origin v4.5.3
) - 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, summarizing and expanding on the relevant contents from <CHANGELOG.md>.
- 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.