* docs/release: Document cargo-release process * docs/release: Document update to root level changelog.md
1.5 KiB
Release process
This project follows semantic versioning. The following
documentation will refer to X.Y.Z
as major, minor and patch version.
Development between releases
-
Every substantial pull request should add an entry to the
[unreleased]
section of the corresponding crateCHANGELOG.md
file. See #1698 as an example.In case there is no
[unreleased]
section yet, create one with an increased major, minor or patch version depending on your change. Update the version in the crate'sCargo.toml
. In addition update the corresponding entry of the crate in the root levelCargo.toml
and add an entry in the root levelCHANGELOG.md
.
Releasing one or more crates
Prerequisites
Steps
-
Remove the
[unreleased]
tag for each crate to be released in the respectiveCHANGELOG.md
. Create a pull request with the changes against the rust-libp2pmaster
branch. -
Once merged, run
cargo release --workspace --sign-tag --no-push --execute
on the (squash-) merged commit on themaster
branch. -
Confirm that
cargo release
tagged the commit correctly viagit push $YOUR_ORIGIN --tag --dry-run
and then push the new tags viagit push $YOUR_ORIGIN --tag
. Make sure not to push unrelated git tags.Note that dropping the
--no-push
flag oncargo release
might as well do the trick.