-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Update Wasmtime for upcoming WIT changes #6390
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
Update Wasmtime for upcoming WIT changes #6390
Conversation
|
I'll note that I'm opening this as a draft as I'm working my way up the stack. My goal is to prove out bytecodealliance/wasm-tools#1027 and once everything is ready have a day I spend landing the various changes. |
cf306c4 to
ea497d8
Compare
This PR integrates bytecodealliance/wasm-tools#1027 into Wasmtime. The main changes here are: * WIT syntax is updated with WebAssembly/component-model#193 * Generated bindings in the `bindgen!` macro have been updated to reflect the new structure of WIT. * The accepted component model binary format has been updated to account for changes. This PR disables wasi-http tests and the on-by-default feature because the WIT syntax has been updated but the submodule containing the WITs has not been updated yet so there's no way to get that building temporarily. Once that's updated then this can be reenabled.
Don't store duplicates with the rest of the WASI WIT files we have.
|
Ok I've now updated this for the final set of merged changes to wasm-tools, which aren't yet published. The major changes in this PR are now:
One interesting aspect of this is that there's a temporary git dependency on wit-bindgen. I'm not actually sure how to get rid of that because the adapter requires wit-bindgen and it's not easy to remove that. This is somewhat ok though since we don't publish anything with wit-bindgen so I'm hoping it's ok to have a temporary state of affairs with a git dep here before I can go use this PR to update wit-bindgen to make a release there. |
Make it a more "official" location which is also less likely to be accidentally deleted in the future.
|
Seems like a component using latest WIT interfaces generated with Originating somewhere in wasmtime/crates/environ/src/component/translate.rs Lines 328 to 377 in c044790
|
|
Can you confirm that |
I'll try to minimize this later today |
false alarm, it was an outdated transitive dependency. Can confirm that everything works as expected. Thanks for prompt response! |
* Update Wasmtime for upcoming WIT changes This PR integrates bytecodealliance/wasm-tools#1027 into Wasmtime. The main changes here are: * WIT syntax is updated with WebAssembly/component-model#193 * Generated bindings in the `bindgen!` macro have been updated to reflect the new structure of WIT. * The accepted component model binary format has been updated to account for changes. This PR disables wasi-http tests and the on-by-default feature because the WIT syntax has been updated but the submodule containing the WITs has not been updated yet so there's no way to get that building temporarily. Once that's updated then this can be reenabled. * Update wasmtime-wasi crate with new WIT * Add wit-bindgen override for the updated version * Officially disable wasi-http tests/building * Move test-reactor WIT into the main WIT files Don't store duplicates with the rest of the WASI WIT files we have. * Remove adapter's copy of WIT files * Disable default features for wit-bindgen * Plumb disabling wasi-http tests a bit more * Fix reactor tests and adapter build * Remove no-longer-needed feature * Update adapter verification script * Back out some wasi-http hacks * Update vet and some dependency sources * Move where wit-bindgen comes from Make it a more "official" location which is also less likely to be accidentally deleted in the future.
* Update Wasmtime for upcoming WIT changes This PR integrates bytecodealliance/wasm-tools#1027 into Wasmtime. The main changes here are: * WIT syntax is updated with WebAssembly/component-model#193 * Generated bindings in the `bindgen!` macro have been updated to reflect the new structure of WIT. * The accepted component model binary format has been updated to account for changes. This PR disables wasi-http tests and the on-by-default feature because the WIT syntax has been updated but the submodule containing the WITs has not been updated yet so there's no way to get that building temporarily. Once that's updated then this can be reenabled. * Update wasmtime-wasi crate with new WIT * Add wit-bindgen override for the updated version * Officially disable wasi-http tests/building * Move test-reactor WIT into the main WIT files Don't store duplicates with the rest of the WASI WIT files we have. * Remove adapter's copy of WIT files * Disable default features for wit-bindgen * Plumb disabling wasi-http tests a bit more * Fix reactor tests and adapter build * Remove no-longer-needed feature * Update adapter verification script * Back out some wasi-http hacks * Update vet and some dependency sources * Move where wit-bindgen comes from Make it a more "official" location which is also less likely to be accidentally deleted in the future.
These files aren't actually read by anything currently. They were added historically and a previous refactoring in bytecodealliance#6390 forgot to remove them. No tests or build process reads them so this deletes them to get them out of the way.
#6777) * Remove unused WIT files from Wasmtime These files aren't actually read by anything currently. They were added historically and a previous refactoring in #6390 forgot to remove them. No tests or build process reads them so this deletes them to get them out of the way. * Update dependencies on wasm-tools crates. This commit updates the deps on the wasm-tools family of crates to bring in a few fixes for WIT/component-related things. Primarily though this brings in an update to the component model where empty types are now disallowed. Some tests using empty types were adjusted to use non-empty types, but many tests were also simply removed as they existed to test what would happen with empty types which now no longer needs to be tested. * Update `stream-error` in preview2 Add a `dummy` field to make it a non-empty structure. It's expected that this will change to something else more "official" in the future, but for now this is here to keep everything compiling. * Update component fuzzing to avoid empty types Empty types are no longer valid * Update crates/wasi/wit/deps/io/streams.wit Co-authored-by: Peter Huene <peter@huene.dev> --------- Co-authored-by: Peter Huene <peter@huene.dev>
bytecodealliance#6777) * Remove unused WIT files from Wasmtime These files aren't actually read by anything currently. They were added historically and a previous refactoring in bytecodealliance#6390 forgot to remove them. No tests or build process reads them so this deletes them to get them out of the way. * Update dependencies on wasm-tools crates. This commit updates the deps on the wasm-tools family of crates to bring in a few fixes for WIT/component-related things. Primarily though this brings in an update to the component model where empty types are now disallowed. Some tests using empty types were adjusted to use non-empty types, but many tests were also simply removed as they existed to test what would happen with empty types which now no longer needs to be tested. * Update `stream-error` in preview2 Add a `dummy` field to make it a non-empty structure. It's expected that this will change to something else more "official" in the future, but for now this is here to keep everything compiling. * Update component fuzzing to avoid empty types Empty types are no longer valid * Update crates/wasi/wit/deps/io/streams.wit Co-authored-by: Peter Huene <peter@huene.dev> --------- Co-authored-by: Peter Huene <peter@huene.dev>
) * Update Wasmtime for upcoming WIT changes This PR integrates bytecodealliance/wasm-tools#1027 into Wasmtime. The main changes here are: * WIT syntax is updated with WebAssembly/component-model#193 * Generated bindings in the `bindgen!` macro have been updated to reflect the new structure of WIT. * The accepted component model binary format has been updated to account for changes. This PR disables wasi-http tests and the on-by-default feature because the WIT syntax has been updated but the submodule containing the WITs has not been updated yet so there's no way to get that building temporarily. Once that's updated then this can be reenabled. * Update wasmtime-wasi crate with new WIT * Add wit-bindgen override for the updated version * Officially disable wasi-http tests/building * Move test-reactor WIT into the main WIT files Don't store duplicates with the rest of the WASI WIT files we have. * Remove adapter's copy of WIT files * Disable default features for wit-bindgen * Plumb disabling wasi-http tests a bit more * Fix reactor tests and adapter build * Remove no-longer-needed feature * Update adapter verification script * Back out some wasi-http hacks * Update vet and some dependency sources * Move where wit-bindgen comes from Make it a more "official" location which is also less likely to be accidentally deleted in the future. * Don't document wasi-http-tests
This PR integrates bytecodealliance/wasm-tools#1027 into Wasmtime. The main changes here are:
bindgen!macro have been updated to reflect the new structure of WIT.This PR disables wasi-http tests and the on-by-default feature because the WIT syntax has been updated but the submodule containing the WITs has not been updated yet so there's no way to get that building temporarily. Once that's updated then this can be reenabled.