The process for cutting a new release
- Check for unused dependencies
$ cargo +nightly udeps
- Bump the
versioninCargo.toml - Propagate the change to
Cargo.lock$ cargo check -p two-face
- Update the generated assets
$ cargo xtask gen -y
- Update
rust-versioninCargo.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.mdto 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