Release-plz updates the versions and changelogs of your rust packages, by analyzing your git history,
based on conventional commits:
- release-plz update
updates your project locally, without committing any change.
- release-plz release-pr
opens a GitHub Pull Request.
Once the changes are merged to the main branch, you can use
release-plz release
to publish the new versions of the packages.
The simplest way to update your project with release-plz is to use the GitHub action.
docker pull marcoieni/release-plz
cargo install release-plz --locked
release-plz
can be installed from available AUR packages using an AUR helper. For example:
paru -S release-plz
paru -S release-plz-git
(VCS package)Make sure you have git
installed when running release-plz
.
With release-plz update
you can update the version and the changelog of the packages of a local workspace.
In the following example, I run release-plz
on the release-plz
project itself.
Release-plz
increases the version and the changelog of the packages with unpublished changes.
With release-plz release-pr
you can open a GitHub Pull Request that updates the version of the packages of a local workspace.
In the following example, I run release-plz
on the release-plz
project itself.
Release-plz
opens a PR that increases the version and the changelog of the packages with unpublished changes.
The goal of release-plz is to create a fully automated release pipeline. This means you can easily release changes more frequently, without the fear of doing typo or other subtle manual mistakes you can make when releasing from your terminal.
You can release all the unpublished packages by running release-plz release
.
To load completions in your current shell session:
sh
$ autoload bashcompinit; bashcompinit
$ source <(release-plz generate-completions)
To load completions for every new session, execute once:
sh
$ release-plz generate-completions zsh > _release-plz
$ sudo mv _release-plz /usr/local/share/zsh/site-functions/
To load completions in your current shell session:
sh
$ source <(release-plz generate-completions)
To load completions for every new session, execute once:
sh
$ release-plz generate-completions bash > ~/.local/share/bash-completion/completions/release-plz
Note: package bash-completion is required for this to work.
To load completions in your current shell session:
sh
$ release-plz generate-completions fish | source
To load completions for every new session, execute once:
sh
$ release-plz generate-completions fish > $HOME/.config/fish/completions/release-plz.fish
Release-plz generates the changelog by using git-cliff.
By default, release-plz uses the keep a changelog format.
You can customize the changelog format, by providing a git-cliff configuration
file with the --changelog-config
argument.
This GitHub search shows all the public repositories that use release-plz in CI.
Licensed under either of
at your option.
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.
See CONTRIBUTING.md.
Parts of the codebase are inspired by: - cargo-workspaces - cargo-release - cargo-edit - git-cliff