[WIP] feat!: bump workspace dependencies with release#17
Conversation
4ccae70 to
6902c4e
Compare
Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>
6902c4e to
e09daf1
Compare
|
I think test is failing because I added extra output. Thinking out loud, I think I need to consider a workspace root as something that may always change in response to a version bump, and that'll work well to catch my edge case |
|
Thanks a lot for getting the ball rolling on workspace dependency support! I thought that maybe it's worth it to try to create a new journey tests that exercises this new capability as well. The biggest issue I see with any change is that it might very well break |
|
Sebastian Thiel (@Byron) what kind of tests could we add to add confidence in not breaking edit: I totally missed that |
|
I don't think given this requirement, there isn't anything less but to publish But like a said, a simple Journey test should probably be added to generally show how it works with workspace dependencies. |
Signed-off-by: Brooks Townsend <brooksmtownsend@gmail.com>
466c458 to
2065c01
Compare
|
Just a note my latest commit isn't quite ready for code review, but it does work! There's some edge cases I have called out in the TODO, and more to test, but I'm planning on trying it out to release a few crates this week (likely via manual inspection) |
|
By the way, I tried to publish with this branch but it failed with an issue around invalid manifests being written. |
|
Thank you for letting me know Sebastian Thiel (@Byron) , I think an issue here (with my implementation) is still that
If that wasn't the issue though, let me know what the error is and I can try to track it down 🙂 |
|
Thank you! I think it should be possible to reproduce the issue if the |
|
Yeah I bet if you have any pre-check step then the above bug will cause an issue, e.g. run without |
Fixes #8
This PR adds support for bumping workspace dependencies just like how the current smart-releaser will bump dependent crates in response to a new release. In order to implement this, I just slotted some logic in with the existing logic to find dependent crates to also look for a
workspace.dependenciessection in the Cargo.toml.This works... mostly. It actually works perfectly for dependencies that the main workspace uses, but it does not work when a dependency is specified at the workspace level but not used by the main workspace.
For example, I was taking a look at this for wasmCloud. If I use this to bump the crate wasmcloud-core, which our primary package depends on, I get the expected result (wasmcloud-core bumps from 0.5 to 0.6, workspace dependency updates. However, if I use this to bump wash-lib, this is specified as a workspace dependency but wasmCloud itself doesn't use it, so no update. I wanted to open up this PR as a draft WIP while I work through this just to let you know I'm working on it 😄
Some trace logs from a run (will remove extraneous trace logs when I mark this as ready of course):