You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue tracks the creation of the script described in #2902 (comment).
The interface should look like this:
scripts/bump-version.sh <workspace-crate><level>
For example:
scripts/bump-version.sh libp2p-core minor
The script needs to:
Use cargo release version to bump the specified crate by the provided level
Figure out, which workspace crates depend on this crate
Bump the version of those crates by the same level
Repeat (2) + (3) if new crates have been affected
As an example:
Issue a minor level bump for libp2p-core
libp2p-swarm depends on libp2p-core so it needs to be bumped by a minor level as well
libp2p-identify depends on libp2p-swarm so it also needs to be bumped by a minor level
libp2p-metrics so it also needs to be bumped by a minor level
libp2p-metrics depends on libp2p-identify but also on libp2p-core so it would have already been bumped as part of (2) and should not be bumped again
To generalize the whole thing, one could introduce a configuration file in which one can specify, which version bumps end up "bubbling up" (which at the end of the day can be figured out by checking which ones appear in the public API).
Description
This issue tracks the creation of the script described in #2902 (comment).
The interface should look like this:
For example:
The script needs to:
cargo release version
to bump the specified crate by the provided levelAs an example:
libp2p-core
libp2p-swarm
depends onlibp2p-core
so it needs to be bumped by a minor level as welllibp2p-identify
depends onlibp2p-swarm
so it also needs to be bumped by a minor levellibp2p-metrics
so it also needs to be bumped by a minor levellibp2p-metrics
depends onlibp2p-identify
but also onlibp2p-core
so it would have already been bumped as part of (2) and should not be bumped againTo generalize the whole thing, one could introduce a configuration file in which one can specify, which version bumps end up "bubbling up" (which at the end of the day can be figured out by checking which ones appear in the public API).
Related crate-ci/cargo-release#628.
Motivation
Make version bumping as part of PRs and/or releases less manual and error-prone.
Open questions
Are you planning to do it yourself in a pull request?
Maybe.
The text was updated successfully, but these errors were encountered: