RELEASE-PLZ
Release Rust crates from CI with a Release PR
Changelog generation 📝
Release-plz updates your changelogs with git-cliff using Keep a changelog format by default.
Version bump ⤴️
Release-plz bumps the versions of your crates according to Semantic Versioning, based on Conventional Commits and API breaking changes detected by cargo-semver-checks.
Release PR 🤖
Release-plz opens a PR with the changes to CHANGELOG.md
, Cargo.toml
and Cargo.lock
. When you merge the PR, release-plz creates the tag and the release on GitHub/Gitea and publishes the crate to crates.io.
It works locally, too 👩💻
1️⃣ Install Release-plz
$ cargo install --locked release-plz
2️⃣ Go to project
$ cd path/to/your/project
3️⃣ Tell Release-plz to update Cargo.toml, Cargo.lock and CHANGELOG.md
$ release-plz update
4️⃣ Review the changes and commit them
$ git add . && git commit -m "chore: release"
5️⃣ Tell Release-plz to create the git tag and publish to crates.io
$ release-plz release
Loved by many Rustaceans 🦀
Hayden Stainsby@hds
Release-plz makes releasing tokio-console super easy.
Amos Wenger@fasterthanlime
As far as I can tell, release-plz (an actual Rust executable running in CI, comes with its own GitHub Action) is best-of-class.
Luca Palmieri@algo_luca
God bless @MarcoIeni for release-plz.
Erin Power@XAMPPRocky
This is a great project to contribute to, it's so incredibly valuable for other maintainers like myself to be able to automate project releases and provide a better experience for our contributors.
Predrag Gruevski@PredragGruevski
Release-plz will automatically run cargo-semver-checks as part of the release process. If you are in the market for a good release manager, you should check this one out; it's awesome.