Skip to content

Latest commit

 

History

History
22 lines (16 loc) · 1.22 KB

RELEASE.md

File metadata and controls

22 lines (16 loc) · 1.22 KB

Release Process

  • leave the Cargo.toml package version alone :)
  • trigger the tag and publish crate [manual] action and specify the release increment (major, minor, or patch)
    • once the action completes, the Cargo.toml will be updated and the crate will be live on crates.io
  • create a release (with title, notes, thanks, etc) and tie it to the tag that was created by the action / new crate version

Execution

The order of operations for tagging and publishing in the action is this

  1. run all checks, i.e. fmt, clippy, tests, etc
  2. push change / update to the Cargo.toml
  3. push the new tag to the repo
  4. publish the new version to crates.io

Troubleshooting

  • if step 1 of execution fails, after addressing the error, you run the action again
  • if step 2 of execution fails, after addressing the error, you run the action again
  • if step 3 of execution fails (the Cargo.toml version was incremented), after addressing the error, you should manually tag (github's ux or the cli) and manually publish the crate with cargo publish
  • if step 4 of execution fails (the Cargo.toml version was incremented and there's a new corresponding tag), after addressing the error, you should manually publish the crate with cargo publish