Commit 21268ac
authored
Add WASIp3 support (#3272)
* update Wasmtime dep to `release-37.0.0`
v37.0.0 will be released later this month; this is a draft based on the Git
branch for that release so we're ready when the release happens.
Closes #3270
Signed-off-by: Joel Dice <[email protected]>
* update Rust version to 1.87
This is required by Wasmtime 37.
Signed-off-by: Joel Dice <[email protected]>
* update Wasmtime dep in `spin-timer` example
Signed-off-by: Joel Dice <[email protected]>
* restore accidentally-removed `wasi::io::error::add_to_linker` call
Signed-off-by: Joel Dice <[email protected]>
* Add WASIp3 support
This adds wasi:{cli,clocks,filesystem,http,random,sockets}@0.3.0-rc-2025-08-15
support, including inbound and outbound HTTP requests.
I've smoke tested this manually with a few WASIp3 components and plan to port
over some or all of the existing WASIp2 tests.
TODO:
- Port wasi:[email protected] tests
- Add `Instrument::in_current_span` calls where necessary (e.g. in wasip3.rs)
- Update to next release candidate once the `release-37.0.0` branch supports it
- Switch to the final 37.0.0 release once it's available
Signed-off-by: Joel Dice <[email protected]>
* reduce trigger-http p2 and p3 code duplication
Signed-off-by: Joel Dice <[email protected]>
* add todo comments and change more bails to unreachables
Signed-off-by: Joel Dice <[email protected]>
* add WASIp3 port of `wasi-http-streaming` test
This required adding the 0.3.0-rc-2025-08-15 WIT files to the tree so
`wit-bindgen` could use them.
I've also addressed Till's feedback to match only the exact 0.3.0 RC we support
when looking for the `wasi:http/handler` export.
Finally, this includes a temporary workaround for
bytecodealliance/wasmtime#11703, which was uncovered
by the streaming test added in this commit.
Signed-off-by: Joel Dice <[email protected]>
* update `wit-bindgen` version for test components
Signed-off-by: Joel Dice <[email protected]>
* update to latest Wasmtime 37 and WASIp3 snapshots
Signed-off-by: Joel Dice <[email protected]>
* update to Wasmtime v37.0.1
Signed-off-by: Joel Dice <[email protected]>
* add `Instrument::in_current_span` call to spawned future
Signed-off-by: Joel Dice <[email protected]>
* whitespace tweak per review feedback
Signed-off-by: Joel Dice <[email protected]>
* explain reason for ignoring `fut` param in `InstanceState::send_request`
Signed-off-by: Joel Dice <[email protected]>
---------
Signed-off-by: Joel Dice <[email protected]>1 parent 64bf4e4 commit 21268ac
File tree
71 files changed
+4371
-852
lines changed- .github
- actions/spin-ci-dependencies
- workflows
- crates
- core
- src
- tests
- environments/src
- factor-outbound-http
- src
- factor-outbound-networking/tests
- factor-wasi
- src
- tests
- http/src
- oci/src
- runtime-config/src
- trigger-http
- src
- examples/spin-timer
- tests
- test-components
- components
- http-routing/src
- integration-wasi-http-p2-streaming
- src
- integration-wasi-http-p3-streaming
- src
- integration-wasi-http-v0.2.0-rc-2023-11-10/src
- integration-wasi-http-v0.2.0/src
- llm/src
- outbound-mqtt/src
- outbound-postgres/src
- outbound-redis/src
- wasi-http-v0.2.0-rc-2023-11-10/src
- helper
- testcases
- wasi-http-p2-streaming
- wasi-http-p3-streaming
- wit/deps
- cli-0.3.0-rc-2025-09-16
- clocks-0.3.0-rc-2025-09-16
- filesystem-0.3.0-rc-2025-09-16
- http-0.3.0-rc-2025-09-16
- random-0.3.0-rc-2025-09-16
- sockets-0.3.0-rc-2025-09-16
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
71 files changed
+4371
-852
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
0 commit comments