Replies: 3 comments 2 replies
-
|
This might be a duplicate of #195 |
Beta Was this translation helpful? Give feedback.
-
|
There's a lot of complexity here, because dependency updates can mean different things in different circumstances. If the dependency is not part of the public API, then it might be a Then, in some languages like Python, narrowing a dependency range is a breaking change always, but multiple major versions can be included in a range. In Rust, narrowing a dependency range is only a breaking change if that package is used in the public API, but multiple major versions cannot be included. So selecting There is also Renovate/Dependabot we can lean on for some of this... depending on the scenario. We could try to represent these relationships somehow in To that end, is there a specific case we can start with where things don't "just work" as-is with Renovate and solve just that, for now, to get started? E.g., some Cargo workspace problem where CI starts failing once versions are updated of only a single package? |
Beta Was this translation helpful? Give feedback.
-
|
I think this can be closed now, right? It looks like Knope (as of v0.19.2) supports workspaces with crates that depend on each other. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Consider a repo with three packages:
In this case, it's possible to update
package-that-uses-commonandanother-package-that-uses-commonindependently from the other packages, so they should be versioned separately.However, updates to
commonshould always update both other packages. Therefore, anytimecommonneeds to be version bumped, so should both of the sub-packages.Currently, if we were to publish a commit like
fix(common): ...thenknopewould bumpcommonwithout bumping the dependent packages (both thecommondependency and the version of each dependent). This makes it impossible to build and release the other packages without manual intervention or a complex workflow. One could add thecommonscope to each sub-package, but then changes to common are duplicated across each changelog.There are other intricacies with this:
knoperecognize these dependencies?commongets a breaking change? Shouldknopejust assume it'll work with the dependent packages and bump it anyways?Beta Was this translation helpful? Give feedback.
All reactions