#cargo

app cargo-release

Cargo subcommand for you to smooth your release process

48 releases

✓ Uses Rust 2018 edition

0.12.4 Aug 3, 2019
0.12.3 Jul 28, 2019
0.12.0-beta.6 May 12, 2019
0.12.0-beta.4 Mar 14, 2019
0.2.1 Mar 17, 2016

#16 in Cargo plugins

Download history 329/week @ 2019-05-22 460/week @ 2019-05-29 125/week @ 2019-06-05 199/week @ 2019-06-12 191/week @ 2019-06-19 703/week @ 2019-06-26 289/week @ 2019-07-03 329/week @ 2019-07-10 388/week @ 2019-07-17 337/week @ 2019-07-24 193/week @ 2019-07-31 262/week @ 2019-08-07 161/week @ 2019-08-14 253/week @ 2019-08-21 347/week @ 2019-08-28

1,293 downloads per month
Used in 1 crate

MIT/Apache

81KB
2K SLoC

cargo release

Build Status Donate

Performs release best-practices, including:

  • Ensure the git working directory is clean.
  • Bump the version in Cargo.toml
  • Run cargo publish (if not disabled)
  • Create a git tag for this version
  • Bump version for next development cycle
  • git push

Install

Current release: 0.12.4

cargo install cargo-release

Usage

cargo release [level]

  • See the reference for more on level, other CLI arguments, and configuration file format.
  • See also the FAQ for help in figuring out how to adapt cargo-release to your workflow.

Prerequisite

  • Your project should be managed by git.

Dry run

We recommend calling cargo release --dry-run with your custom options before actually executing it. The dry-run mode will print all commands to execute during the release process. And you will get an overview of what's going on.

Here is an example.

 $ cargo release --dry-run
cd .
git commit -S -am (cargo-release) version 0.18.3
cd -
cargo publish
Building and exporting docs.
cargo doc --no-deps
cd target/doc/
git init
cd -
cd target/doc/
git add .
cd -
cd target/doc/
git commit -S -am (cargo-release) generate docs
cd -
cd target/doc/
git push -f git@github.com:sunng87/handlebars-rust.git master:gh-pages
cd -
git tag -a 0.18.3 -m (cargo-release)  version 0.18.3 -s
Starting next development iteration 0.18.4-pre
cd .
git commit -S -am (cargo-release) start next development iteration 0.18.4-pre
cd -
git push origin --follow-tags

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Donation

I'm now accepting donation on liberapay, if you find my work helpful and want to keep it going.

Dependencies

~7.5MB
~157K SLoC