-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Try adding a minimal-versions
test to CI
#6757
Try adding a minimal-versions
test to CI
#6757
Conversation
This commit is an attempt to add another CI check for Wasmtime to ensure that the minimum version bounds on all of our dependencies are accurate. This is not a stable feature of Cargo and thus requires usage of nightly. Additionally one of the reasons it's not stable is that the DX is not great as many minimal-versions errors come from transitive dependencies that we can't do anything about. Nevertheless I figure it might be good to try out having it on CI and see how it fares. This is inspired by bytecodealliance#6755 where we picked up a dependency on a newer version of `system-interface` but forgot to update the minimum version bound. Whether or not this prevents the issue or causes too many headaches is I think yet to be seen.
One thing I find quite unfortunate about this is the need to update One option I think is to simply not have this PR as well. It's a pretty niche issue that likely won't crop up much, so I'm not sure what to do about it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me! What will this look like when it fails? Is there a place we could add a message saying "you probably forgot to update X dependency", or will that be apparent from the cargo check
output?
My guess is that failures may look a little obscure. One class of failures can show up in transitive dependencies which can look quite bizarre. Other failures though may be more obvious in that a PR may update usage of a crate and the error from CI would say "this function isn't available" which may serve as a reminder to update the minimum version requirement. Either way I can document more in the CI configuration, although my guess is that few will read that before posting on zulip "it's broke why?", but worth a shot! |
I'm going to close this for now and we can always reconsider if it crops up again. |
This commit is an attempt to add another CI check for Wasmtime to ensure that the minimum version bounds on all of our dependencies are accurate. This is not a stable feature of Cargo and thus requires usage of nightly. Additionally one of the reasons it's not stable is that the DX is not great as many minimal-versions errors come from transitive dependencies that we can't do anything about. Nevertheless I figure it might be good to try out having it on CI and see how it fares.
This is inspired by #6755 where we picked up a dependency on a newer version of
system-interface
but forgot to update the minimum version bound. Whether or not this prevents the issue or causes too many headaches is I think yet to be seen.