cargo smart-release

Fearlessly release workspace crates without dealing with dependencies or versions.

Installation

Cargo

Via cargo, which can be obtained using rustup

cargo install cargo-smart-release

Usage

```bash

simulate the release process but don't persist operations

cargo smart-release workspace-package-1 another-workspace-package

perform the actual release, resulting in all changed dependent workspace crates to be published.

cargo smart-release workspace-package-1 another-workspace-package --execute

learn moreā€¦

cargo smart-release --help ```

Features

Comparison to cargo release

cargo-release is the reason this tool exists, as it got me addicted to an all automatic release workflow that knows git. This works perfectly for simple workspaces or single-crate workspaces, as of 2021-08-12, so use it: cargo install cargo-release.

Here is what cargo smart-release does differently: "It tries really hard to do what I want most of the time when publishing workspace gitoxide crates".

Limitations

Acknowledgements

Thanks to [cargo release] for showing the way, but also motivating me to finally take full control of releases.