- 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 oncrates.io
- once the action completes, the
- create a release (with title, notes, thanks, etc) and tie it to the tag that was created by the action / new crate version
The order of operations for tagging and publishing in the action is this
- run all checks, i.e. fmt, clippy, tests, etc
- push change / update to the
Cargo.toml
- push the new tag to the repo
- publish the new version to crates.io
- 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 ui or the cli) and manually publish the crate withcargo 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 withcargo publish