-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] feat!: bump workspace dependencies with release #17
base: main
Are you sure you want to change the base?
[WIP] feat!: bump workspace dependencies with release #17
Conversation
4ccae70
to
6902c4e
Compare
Signed-off-by: Brooks Townsend <[email protected]>
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 |
@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 <[email protected]>
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 @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.dependencies
section 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):