We introduced a lint in #4620 that ensures the changelog is updated when we touch a certain crate. This however leads to many "false-positives" where a change to the source code is not actually worth mentioning in the changelog.
To opt out of this change, this patch adds a condition to the job that checks for a `internal:$crate` label and if that is applied, it doesn't run the lint.
Pull-Request: #4673.
This short document describes certain maintainer knowledge that IMO is good to have and should likely make on-boarding a bit easier too.
Pull-Request: #4220.
Previously, we would specify the version and path of our workspace dependencies in each of our crates. This is error prone as https://github.com/libp2p/rust-libp2p/pull/3658#discussion_r1153278072 for example shows. Problems like these happened in the past too.
There is no need for us to ever depend on a earlier version than the most current one in our crates. It thus makes sense that we manage this version in a single place.
Cargo supports a feature called "workspace inheritance" which allows us to share a dependency declaration across a workspace and inherit it with `{ workspace = true }`.
We do this for all our workspace dependencies and for the MSRV.
Resolves#3787.
Pull-Request: #3715.
`cargo release` provides multiple steps:
- changes
- version
- replace
- hook
- commit
- publish
- owner
- tag
- push
- config
- help
We only make use of `publish` and `tag`. We explicitly don't want `cargo release` to do `version` or `commit`.
Update the release docs accordingly, namely replace the generic `cargo release` with a two step process `cargo release publish` and `cargo release tag`.
Pull-Request: #3596.
Add document outlining a set of coding guidelines followed and to be
followed across the rust-libp2p code base.
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
* docs/release.md: Add release documentation
* docs/release.md: Address comments
* docs/release.md: Add annotation -a option
* docs/release: Mention bumping Cargo.toml version
* docs/release.md: Extract name and version with sed
* docs/release.md: Remove instruction for release date in changelog