Skip to content

Latest commit

 

History

History
26 lines (20 loc) · 1.51 KB

RELEASE_CHECKLIST.md

File metadata and controls

26 lines (20 loc) · 1.51 KB

Release checklist

This checklist is meant to be used as a guide for the crates.io release process.

Releases are always made in lockstep, meaning that all crates in the repository are released with the same version number, regardless of whether they have changed or not.

Requirements

Steps

  • Make sure you're on the main branch.
  • (optional) Dry run cargo-release: cargo release <version>
  • Run cargo-release: PUBLISH_GRACE_SLEEP=10 cargo release --execute [--no-verify] <version>
    • Ignore these warnings:
      • warning: updating <crate> to <version> despite no changes made since...
      • git-cliff warning there is already a tag (<tag>) for ...
    • If a failure happened:
      • You should have an unpushed commit. After the issue is fixed, retry the release process with --no-push and squash the commits together.
      • If some crates were published before the error, AFAICT you must manually --exclude <crate> each already-published crate.
      • Verify that the commit is correct, and push to the repository with git push --tags.
  • Create a new GitHub release with the automatically generated changelog and with the name set to <repo> v<X.Y.Z>