#cargo #cargo-subcommand #git #version #tags #process #cargo-toml

app emils-cargo-release

Cargo subcommand for you to smooth your release process

8 releases

0.13.2-alpha.3 Jul 24, 2019
0.13.0 Jul 10, 2019
0.12.7 Jul 10, 2019
0.12.6 Jul 10, 2019
0.12.5 Jul 10, 2019

#599 in Cargo plugins

Download history 4/week @ 2024-02-26 136/week @ 2024-04-01

136 downloads per month

MIT/Apache

78KB
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.0

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

~9.5MB
~182K SLoC