The process for cutting a new release
- Check for unused dependencies
$ cargo +nightly udeps
- Bump the
version
inCargo.toml
- Propagate the change to
Cargo.lock
$ cargo check -p two-face
- Update the generated assets
$ cargo xtask gen -y
- Update
rust-version
inCargo.toml
- Comment out the existing
rust-version
- Isolate our package from the workspace
$ cargo package --allow-dirty
- Navigate to
target/package/two-face-*/
$ cargo msrv find [--ignore-lockfile]
- Comment out the existing
- Update the
CHANGELOG.md
to reflect any of the changes - Merge changes through a PR or directly to make sure CI passes
- Publish on crates.io
$ cargo publish
- Publish on GitHub by pushing a version tag
$ git tag v{VERSION}
(make sure the branch you are on is up to date)$ git push upstream/origin v{VERSION}
- Make a release announcement on GitHub after the release workflow finishes