Quick documentation update to describe patch release branching convention. Pull-Request: #3490.
1.8 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.
Patch release
-
Create a branch
v0.XX
off of the minor release tag. -
Merge patches into branch in accordance with development between releases section.
-
Cut release in accordance with releasing one or more crates section replacing
master
withv0.XX
.