- Bump the version of all crates
- Run all tests
- In the
CHANGELOG.md
file, move everything under "Unreleased" to a new section named## [vx.y.z] – YYYY-MM-DD
- Make a dryrun like so:
- Ensure you're in the project root dir
Note: the script will publish the crates in the correct order and pause after each crate to ensure it's available at the crates registry before proceeding. This means the dry run isn't as useful and will end up in an infinite loop. If you're really unsure about the changes and want to do a dry run you should do a
cargo publish --dry-run
for each individual crate.
- Ensure you're in the project root dir
Note: the script will publish the crates in the correct order and pause after each crate to ensure it's available at the crates registry before proceeding. This means the dry run isn't as useful and will end up in an infinite loop. If you're really unsure about the changes and want to do a dry run you should do a
- Publish:
./scripts/publish.sh
- Once published, make sure to "create a release" for the pushed tag on github.