Skip to content

Commit 21268ac

Browse files
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

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

.github/actions/spin-ci-dependencies/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ inputs:
88
type: bool
99
rust-version:
1010
description: 'Rust version to setup'
11-
default: '1.86'
11+
default: '1.87'
1212
required: false
1313
type: string
1414

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ concurrency:
1717

1818
env:
1919
CARGO_TERM_COLOR: always
20-
RUST_VERSION: 1.86
20+
RUST_VERSION: 1.87
2121

2222
jobs:
2323
dependency-review:

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
concurrency: ${{ github.workflow }}-${{ github.ref }}
1212

1313
env:
14-
RUST_VERSION: 1.86
14+
RUST_VERSION: 1.87
1515

1616
jobs:
1717
build-and-sign:

0 commit comments

Comments
 (0)