-
Notifications
You must be signed in to change notification settings - Fork 7
Release checklist
Maximilian Marx edited this page Apr 3, 2024
·
3 revisions
This checklist details the steps to take for releasing Nemo version X.Y.0
.
- ensure the local repository is up to date:
git pull
- create a new branch from current
main
:git switch -c release-X.Y main
- update the nix inputs:
nix flake update --commit-lock-file
- if necessary, bump the version bounds of dependencies in the
Cargo.toml
files - commit the changes:
git add Cargo.lock && git commit -m 'Bump dependencies'
- bump the Nemo version number (
version
underworkspace.package
) toX.Y.0
inCargo.toml
- make sure the list of authors in
Cargo.toml
is up to date (compare withgit shortlog --summary --numbered --email
) - update the cargo dependencies to propagate the new version number:
cargo update
- commit the changes:
git add Cargo.{toml,lock} && git commit -m 'Bump Nemo version'
- check that the project builds
cargo clean && cargo build --release
- check that the flake evaluates:
nix flake check
- make sure the
README.md
is up to date - commit the changes:
git add README.md && git commit -m 'Update README'
- bump the Nemo version number to
X.Y.1-dev
inCargo.toml
- update the cargo dependencies to propagate the new version number:
cargo update
- commit the changes:
git add Coargo.{toml,lock} && git commit -m 'Bump Nemo version'
- push the branch and tag:
git push origin release-X.Y
- create a Pull Request and merge the release branch
- switch to the
main
branch:git switch main
- pull them
main
branch:git pull
- tag the release, making sure not to include the bump to
X.Y.1-dev
:git tag -s vX.Y.0 -m 'Nemo version X.Y' HEAD^
- push the tag:
git push --tags
- wait for the release workflow to create a draft release
- write the release notes for the new release
- publish the release
- celebrate!
- delete the release tag on GitHub:
git push origin :vX.Y.0
- delete the release tag locally:
git tag --delete vX.Y.0
- create the tag on the correct commit:
git tag -s vX.Y.0 -m 'Nemo version X.Y' <committish>
, where<committish>
is the correct commit - push the tag:
git push --tags
- wait for the release workflow to update the release