-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Dependency gardening for Wasmtime #6731
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
Dependency gardening for Wasmtime #6731
Conversation
This isn't used any more so no need to continue to list this.
This removes a `deny.toml` exception for that crate, but `openvino-sys` still depends on `pretty_env_logger 0.4.0` so a new exception is added for that.
This commit started out by updating the `criterion` dependency to remove an entry in `deny.toml`, but that ended up transitively requiring a `clap` dependency upgrade from 3.x to 4.x because `criterion` uses pieces of clap 4.x. Most of this commit is then dedicated to updating clap 3.x to 4.x which was relatively simple, mostly renaming attributes here and there.
I originally wanted to remove the `indexmap` clause in `deny.toml` but enough dependencies haven't updated from 1.9 to 2.0 that it wasn't possible. In the meantime though this updates some various dependencies to bring them to the latest and a few of them now use `indexmap` 2.0.
This involved updating tokio/mio and then providing new audits for new crates. The tokio exemption was updated from its old version to the new version and tokio remains un-audited.
This required a bit of rewriting for the component-macro related bits but otherwise was pretty straightforward. The `syn` 1.x.x track is still present in the wasi-crypto tree at this time. I've additionally added some trusted audits for my own publications of `wasm-bindgen`
This updates Wasmtime's dependency on the `bitflags` crate to the 2.x.x track to keep it up-to-date.
This bumps them all to the next major version to keep up with updates. I've additionally added trusted entries for publishes of cap-std crates from Dan. There's still lingering references to rustix 0.37.x which will need to get weeded out over time.
Avoids having two versions in our crate graph.
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.
LGTM, with one comment:
@@ -47,7 +48,7 @@ pub(super) fn define_flags( | |||
if #repr::from(!#ident::all()) & value != 0 { | |||
Err(wiggle::GuestError::InvalidFlagValue(stringify!(#ident))) | |||
} else { | |||
Ok(#ident { bits: value }) | |||
Ok(#ident::from_bits_truncate(value)) |
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.
from_bits_truncate
silently drops unknown flags; should this use from_bits
and return an InvalidFlagValue
if it doesn't succeed?
This PR is a series of commits to handle a number of updates to dependencies in Wasmtime. I've separated out each dependency by commit to see what's going on. The biggest upgrades were
syn 2.x.x
,clap 4.x.x
, andbitflags 2.x.x
. All the other updates were mostly minor.In terms of vetting I've added a number of new trusted annotations crates that are authored by those we already trust (e.g. me, Dan, epage, etc). I've additionally performed a variety of audits for new versions that aren't covered by our preexisting policies.
At some point we need to revisit
cargo deny
's configuration because we have quite a few duplicated dependencies which aren't being caught bycargo deny
and I'm not entirely sure why. I think that our ignore list is too aggressive and/or not interacting well with howcargo deny
works. I'll try to poke at this in the future.