-
Notifications
You must be signed in to change notification settings - Fork 385
Releasing
-
Make sure you have
cargo-release
installed. -
Run
cargo release [patch/minor/major]
(patch
,minor
, ormajor
varying by what version you want to release).
This will do a dry-run, validating everything builds correctly, and all the criteria are met. -
Then re-run the command but append the
-x
flag to run it for real and get the version out there! Note that because of crate-ci/cargo-release#829, the publishing fails right now and you need to manuallycargo publish
some of the crates. That should be it. The changelog should be automatically updated, the tags created, and releases pushed to crates.io.Because of the bug mentioned above, you'll have to take steps similar to these:
cargo release -x $VERSION (cd packages/schema-derive && cargo publish) && \ (cd packages/schema && cargo publish) && \ (cd packages/std && cargo publish) && \ (cd packages/vm-derive && cargo publish) && \ (cd packages/vm && cargo publish) && \ (cd packages/check && cargo publish) && \ cargo release tag -x && \ git push && git push origin $VERSION
You might also want to take a look at the .circleci/config.yml
for any "enable again once x.x is released" todos.