fix: filter packages for publication#449
Conversation
Update packagesOrdered() to return only packages for publication, filtering out dev, build and publish=false packages. Avoids a circular dependency due to the recent introduction of zenoh-test crate. Also add a guard after each iteration to error out in case no progress is done during the outer loop.
- correct packagesOrdered() test to a newer zenoh version with an order that matches reality - update bump deps zenoh test to include the exact zenoh version since bump() take into account the `=` prefix in newer version
|
@fuzzypixelz I updated the test to use a recent version of zenoh and updated the order of the packages in the test to match a topological order that seems correct. Once this is merged I can test the action with the zenoh release workflow. |
fuzzypixelz
left a comment
There was a problem hiding this comment.
We should carefully check how the behavior changes in packagesOrdered affect the rest of the codebase.
Thanks for the review! Addressed your review comments and checked |
packagesOrdered() previously relied on a loose workspace ordering and could loop forever when dev-only cycles were present. It now derives a true publication order by: - including only publishable crates - honoring normal and build workspace dependencies - ignoring dev dependencies - rejecting invalid graphs early - throwing on unresolved graphs instead of spinning Update the zenoh test expectations to match the new publication-order semantics.
fuzzypixelz
left a comment
There was a problem hiding this comment.
Perhaps this is the right time to test cargo publish --workspace.
This should be easy now that the project updated its toolchain to Rust 1.93 > 1.90.
|
Closing this one in favor of PR #451 |
Update packagesOrdered() to return only packages for publication, filtering out dev, build and publish=false packages. Avoids a circular dependency due to the recent introduction of zenoh-test crate. Also add a guard after each iteration to error out in case no progress is done during the outer loop.
See https://github.com/eclipse-zenoh/zenoh/actions/runs/26133565301/job/76863995762