From e460bd875e45b40e41b015f305f51c4386dcb8b0 Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Sun, 6 Sep 2026 19:45:39 -0400 Subject: [PATCH] polymorph-test 0.3.1; one wit-bindgen line (0.61) polymorph-test 0.3.1 moved to wit-bindgen 0.61 and wasmtime 48, and wasip3 0.8 is 0.7's WIT on wit-bindgen 0.61, so the workspace can sit on a single async wit-bindgen line: the workspace dep goes to 0.61 and the tls-tcp / tls-component-bench 0.57 pins become workspace deps. The two bumps land together because either alone splits conformance guest-ct from the SDK's line. --- .github/workflows/ci.yml | 4 +- Cargo.lock | 175 ++++++------------ Cargo.toml | 9 +- bench/tls-component-bench/Cargo.toml | 2 +- conformance/driver-ct/polyengine/deno.lock | 10 +- .../driver-ct/polyengine/package-lock.json | 8 +- conformance/driver-ct/polyengine/package.json | 2 +- conformance/guest-ct/Cargo.toml | 7 +- examples/tls-tcp/Cargo.toml | 5 +- 9 files changed, 78 insertions(+), 144 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 82783fd..054b5e3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,7 +95,7 @@ jobs: # Owns the rev derivation, the rev-keyed tools cache, the # install, and the pins gate; `just conformance`'s _ct-tools # recognizes the stamped install and does not repeat it. - uses: polymorph-components/polymorph-test/actions/setup@fac2b5158977389a6324ca4264dba7440f4e1ada + uses: polymorph-components/polymorph-test/actions/setup@3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935 with: js-locks: | conformance/driver-ct/polyengine/package-lock.json @@ -122,7 +122,7 @@ jobs: - run: just gha::conformance-checks - name: Publish the conformance matrix if: always() && hashFiles('conformance/driver-ct/results/*.jsonl') != '' - uses: polymorph-components/polymorph-test/actions/aggregate@fac2b5158977389a6324ca4264dba7440f4e1ada + uses: polymorph-components/polymorph-test/actions/aggregate@3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935 with: lock: conformance/guest-ct/tests.lock manifest: conformance/driver-ct/targets.toml diff --git a/Cargo.lock b/Cargo.lock index d560499..0f05ea0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -313,7 +313,7 @@ dependencies = [ [[package]] name = "component-test-core" version = "0.1.1" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=fac2b5158977389a6324ca4264dba7440f4e1ada#fac2b5158977389a6324ca4264dba7440f4e1ada" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935#3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935" dependencies = [ "arcstr", "serde", @@ -322,19 +322,19 @@ dependencies = [ [[package]] name = "component-test-sdk" version = "0.1.1" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=fac2b5158977389a6324ca4264dba7440f4e1ada#fac2b5158977389a6324ca4264dba7440f4e1ada" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935#3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935" dependencies = [ "component-test-core", "component-test-sdk-macro", "foldhash", "indexmap", - "wit-bindgen 0.60.0", + "wit-bindgen 0.61.1", ] [[package]] name = "component-test-sdk-macro" version = "0.1.1" -source = "git+https://github.com/polymorph-components/polymorph-test?rev=fac2b5158977389a6324ca4264dba7440f4e1ada#fac2b5158977389a6324ca4264dba7440f4e1ada" +source = "git+https://github.com/polymorph-components/polymorph-test?rev=3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935#3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935" dependencies = [ "component-test-core", "proc-macro2", @@ -348,7 +348,7 @@ version = "0.1.0" dependencies = [ "component-test-sdk", "futures", - "wit-bindgen 0.60.0", + "wit-bindgen 0.61.1", ] [[package]] @@ -1704,7 +1704,7 @@ dependencies = [ "polymorph-tls-profile", "rustls", "rustls-pki-types", - "wit-bindgen 0.60.0", + "wit-bindgen 0.61.1", ] [[package]] @@ -2366,7 +2366,7 @@ name = "test-signer" version = "0.1.0" dependencies = [ "ed25519-dalek", - "wit-bindgen 0.60.0", + "wit-bindgen 0.61.1", ] [[package]] @@ -2470,7 +2470,7 @@ version = "0.1.0" dependencies = [ "futures", "wasip3", - "wit-bindgen 0.57.1", + "wit-bindgen 0.61.1", ] [[package]] @@ -2479,7 +2479,7 @@ version = "0.1.0" dependencies = [ "futures", "wasip3", - "wit-bindgen 0.57.1", + "wit-bindgen 0.61.1", ] [[package]] @@ -2506,7 +2506,7 @@ version = "0.1.0" dependencies = [ "futures", "tls-virt-common", - "wit-bindgen 0.60.0", + "wit-bindgen 0.61.1", ] [[package]] @@ -2747,11 +2747,11 @@ dependencies = [ [[package]] name = "wasip3" -version = "0.7.1+wasi-0.3.0" +version = "0.8.0+wasi-0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75e9ed91ee5a995b6fe16c89d4511a8c12eb76967be20b57557618e02e781bcc" +checksum = "42a999271e77c083825863fc85404197523b3f3cebe9b402aece658ebea90065" dependencies = [ - "wit-bindgen 0.57.1", + "wit-bindgen 0.61.1", ] [[package]] @@ -2816,16 +2816,6 @@ dependencies = [ "wat", ] -[[package]] -name = "wasm-encoder" -version = "0.247.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b6733b8b91d010a6ac5b0fb237dc46a19650bc4c67db66857e2e787d437204" -dependencies = [ - "leb128fmt", - "wasmparser 0.247.0", -] - [[package]] name = "wasm-encoder" version = "0.254.0" @@ -2846,18 +2836,6 @@ dependencies = [ "wasmparser 0.258.0", ] -[[package]] -name = "wasm-metadata" -version = "0.247.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "665fe59e56cc9b419ca6fcca56673e3421d1a5011e3b65caf6b726fd9e041d10" -dependencies = [ - "anyhow", - "indexmap", - "wasm-encoder 0.247.0", - "wasmparser 0.247.0", -] - [[package]] name = "wasm-metadata" version = "0.254.0" @@ -2871,15 +2849,15 @@ dependencies = [ ] [[package]] -name = "wasmparser" -version = "0.247.0" +name = "wasm-metadata" +version = "0.258.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6fb4c2bee46c5ea4d40f8cdb5c131725cd976718ec56f1c8e82fbde5fa2a80" +checksum = "18a11585adb92fe9b55ad1d760e8d8fb5d87e0d2e303cb8eed57f078d54293a2" dependencies = [ - "bitflags", - "hashbrown 0.17.1", + "anyhow", "indexmap", - "semver", + "wasm-encoder 0.258.0", + "wasmparser 0.258.0", ] [[package]] @@ -2902,6 +2880,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9a61719f93a87b16d325921e251800c4833f8fab50fa21c7de73aed50086313" dependencies = [ "bitflags", + "hashbrown 0.17.1", "indexmap", "semver", ] @@ -3237,7 +3216,7 @@ name = "webcrypto-signer" version = "0.1.0" dependencies = [ "futures", - "wit-bindgen 0.60.0", + "wit-bindgen 0.61.1", ] [[package]] @@ -3511,79 +3490,51 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" dependencies = [ "bitflags", - "wit-bindgen-rust-macro 0.57.1", ] [[package]] name = "wit-bindgen" -version = "0.60.0" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a301904d6657d6364c758d869e5389d05d393b16d5b65db60b4f03cbe71bb80d" +checksum = "e473fd0095479f9689ac7d2a52c427cc96bb2b973ace50238dfcc1ab1cd52d93" dependencies = [ "bitflags", "futures", - "wit-bindgen-rust-macro 0.60.0", -] - -[[package]] -name = "wit-bindgen-core" -version = "0.57.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02dee27a2dc20d1008016c742ec9fc6ea498492994ba3750be7454cbc97ff04c" -dependencies = [ - "anyhow", - "heck", - "wit-parser 0.247.0", + "wit-bindgen-rust-macro", ] [[package]] name = "wit-bindgen-core" -version = "0.60.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48521bb96e56cbb9e031ad306c80dc20e89e69e49ada02781ee06f60fbcb545f" -dependencies = [ - "anyhow", - "heck", - "wit-parser 0.254.0", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.57.1" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5007dae772945b7a5003d69d90a3a4a78929d41f19d004e980c4259a6af4484" +checksum = "87445680dfe6d6b5369e884bd63c03a3335268e855365b2fc3f7bcdce96a630e" dependencies = [ "anyhow", "heck", - "indexmap", - "prettyplease", - "syn 2.0.119", - "wasm-metadata 0.247.0", - "wit-bindgen-core 0.57.1", - "wit-component 0.247.0", + "wit-parser 0.258.0", ] [[package]] name = "wit-bindgen-rust" -version = "0.60.0" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3df3fe9b9a0066f82fd0c2f07f79d0ffc0f85c53fa5f998516d8722712479042" +checksum = "72f2fe494de0d898216caf0fd0ae76af75753fcb3ff4f465b46131537cf24cf8" dependencies = [ "anyhow", "heck", "indexmap", "prettyplease", "syn 2.0.119", - "wasm-metadata 0.254.0", - "wit-bindgen-core 0.60.0", - "wit-component 0.254.0", + "wasm-metadata 0.258.0", + "wit-bindgen-core", + "wit-component 0.258.0", ] [[package]] name = "wit-bindgen-rust-macro" -version = "0.57.1" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af9237d678e3513ad24e96fe98beacdc0db6405284ba2a2400418cf0d42caa89" +checksum = "59283a01aec94f60f92ada22ffe182a5cea8acfce43be3be688de8d52df55312" dependencies = [ "anyhow", "macro-string", @@ -3591,31 +3542,15 @@ dependencies = [ "proc-macro2", "quote", "syn 2.0.119", - "wit-bindgen-core 0.57.1", - "wit-bindgen-rust 0.57.1", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.60.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d689c4bc9d6af067c651cfba444766343c9a4bdef15fad1e2efab95c0c277af0" -dependencies = [ - "anyhow", - "macro-string", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.119", - "wit-bindgen-core 0.60.0", - "wit-bindgen-rust 0.60.0", + "wit-bindgen-core", + "wit-bindgen-rust", ] [[package]] name = "wit-component" -version = "0.247.0" +version = "0.254.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d567162a6b9843080e5e0053f696623ff694bae8ae017c9ec536d1873bbe3d8" +checksum = "b0e65bb94c369b3c4741ce3d1d2704b1fec93db7c540df0e521a097e7ceeb5be" dependencies = [ "anyhow", "bitflags", @@ -3624,17 +3559,17 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "wasm-encoder 0.247.0", - "wasm-metadata 0.247.0", - "wasmparser 0.247.0", - "wit-parser 0.247.0", + "wasm-encoder 0.254.0", + "wasm-metadata 0.254.0", + "wasmparser 0.254.0", + "wit-parser 0.254.0", ] [[package]] name = "wit-component" -version = "0.254.0" +version = "0.258.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0e65bb94c369b3c4741ce3d1d2704b1fec93db7c540df0e521a097e7ceeb5be" +checksum = "481b5c47b2ecce0389b5e08a05557d6a190c9cd761773b8880a8017ee04dc7ef" dependencies = [ "anyhow", "bitflags", @@ -3643,17 +3578,17 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "wasm-encoder 0.254.0", - "wasm-metadata 0.254.0", - "wasmparser 0.254.0", - "wit-parser 0.254.0", + "wasm-encoder 0.258.0", + "wasm-metadata 0.258.0", + "wasmparser 0.258.0", + "wit-parser 0.258.0", ] [[package]] name = "wit-parser" -version = "0.247.0" +version = "0.254.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ffe4064318cdf3c08cb99343b44c039fcefe61ccdf58aa9975285f13d74d1fc" +checksum = "1655131e4f7d3f0cb141f6eca71315ca40eff0f3d4de7cff0a82bacedd8c89b4" dependencies = [ "anyhow", "hashbrown 0.17.1", @@ -3664,15 +3599,15 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "unicode-xid", - "wasmparser 0.247.0", + "unicode-ident", + "wasmparser 0.254.0", ] [[package]] name = "wit-parser" -version = "0.254.0" +version = "0.258.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1655131e4f7d3f0cb141f6eca71315ca40eff0f3d4de7cff0a82bacedd8c89b4" +checksum = "ff4daaa3cd97ae49ecd0a99dc009d453f93e0f083dd3be38c0f24a83a93e37ac" dependencies = [ "anyhow", "hashbrown 0.17.1", @@ -3684,7 +3619,7 @@ dependencies = [ "serde_derive", "serde_json", "unicode-ident", - "wasmparser 0.254.0", + "wasmparser 0.258.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 3eaf88c..4d2acbb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,8 +43,11 @@ polymorph-tls-quic = { path = "rust/quic" } tls-virt-common = { path = "rust/tls-virt-common" } wasi = "0.14" -wit-bindgen = { version = "0.60", features = ["async-spawn"] } -wasip3 = "0.7" +# One wit-bindgen line for every async binding set (wasip3, +# component-test-sdk, our own): two async runtimes in one guest split +# waitable state. +wit-bindgen = { version = "0.61", features = ["async-spawn"] } +wasip3 = "0.8" futures = { version = "0.3", default-features = false, features = ["std", "async-await"] } # The conformance stack: the Rust crates pinned by git rev, the JS @@ -58,7 +61,7 @@ futures = { version = "0.3", default-features = false, features = ["std", "async # the cargo pins gate, the runner-js pin gate # (conformance-ct::runner-js-pin-check), and the CI ref guard fail on # skew. -component-test-sdk = { git = "https://github.com/polymorph-components/polymorph-test", rev = "fac2b5158977389a6324ca4264dba7440f4e1ada" } +component-test-sdk = { git = "https://github.com/polymorph-components/polymorph-test", rev = "3631d4a1eedfb40d0ad24c68ac5b22ec8ed8d935" } aead = { version = "0.6", default-features = false, features = ["alloc"] } aes = { version = "0.9", features = ["zeroize"] } diff --git a/bench/tls-component-bench/Cargo.toml b/bench/tls-component-bench/Cargo.toml index 973ec5d..758f36f 100644 --- a/bench/tls-component-bench/Cargo.toml +++ b/bench/tls-component-bench/Cargo.toml @@ -12,4 +12,4 @@ crate-type = ["cdylib"] [dependencies] wasip3 = { workspace = true } futures = { workspace = true } -wit-bindgen = { version = "0.57", features = ["async"] } +wit-bindgen = { workspace = true } diff --git a/conformance/driver-ct/polyengine/deno.lock b/conformance/driver-ct/polyengine/deno.lock index cf02951..b057d72 100644 --- a/conformance/driver-ct/polyengine/deno.lock +++ b/conformance/driver-ct/polyengine/deno.lock @@ -7,7 +7,7 @@ "jsr:@polyengine/runtime@~0.6.3": "0.6.3", "jsr:@polyengine/translator@0.6.3": "0.6.3", "jsr:@polyengine/wasi@0.6.3": "0.6.3", - "npm:@jsr/polymorph__test@0.3.0": "0.3.0", + "npm:@jsr/polymorph__test@0.3.1": "0.3.1", "npm:playwright-core@1.62.1": "1.62.1" }, "jsr": { @@ -41,9 +41,9 @@ } }, "npm": { - "@jsr/polymorph__test@0.3.0": { - "integrity": "sha512-NlpHmd5fA3KB/aAaXrBW4KX57UXkl/V9+RLa+fchFUsjASsigthEHMEiiNozRYN/l3xgsKMSC7J3IPp9VtECsQ==", - "tarball": "https://npm.jsr.io/~/11/@jsr/polymorph__test/0.3.0.tgz" + "@jsr/polymorph__test@0.3.1": { + "integrity": "sha512-IIwmnw5F/JHgpuQUzHL+qFJ6lv+gr4mNuXRf2VXVqUQhaf1UaqdgOFHbN2bcsIVtZR3JH+2xKcODB3/SRcJJWg==", + "tarball": "https://npm.jsr.io/~/11/@jsr/polymorph__test/0.3.1.tgz" }, "playwright-core@1.62.1": { "integrity": "sha512-wPYSwEBJY9GHraISXqyqtx0na0LpO3XEX7jNDhntbex7tzUS7kLnZsOlFruFJB4Hi/rhDMjXGqHewDZ68nYZVw==", @@ -59,7 +59,7 @@ ], "packageJson": { "dependencies": [ - "npm:@jsr/polymorph__test@0.3.0", + "npm:@jsr/polymorph__test@0.3.1", "npm:playwright-core@1.62.1" ] } diff --git a/conformance/driver-ct/polyengine/package-lock.json b/conformance/driver-ct/polyengine/package-lock.json index 43a7abb..2ced59a 100644 --- a/conformance/driver-ct/polyengine/package-lock.json +++ b/conformance/driver-ct/polyengine/package-lock.json @@ -6,14 +6,14 @@ "": { "name": "@polymorph/tls-conformance-polyengine-browser", "dependencies": { - "@jsr/polymorph__test": "0.3.0", + "@jsr/polymorph__test": "0.3.1", "playwright-core": "1.62.1" } }, "node_modules/@jsr/polymorph__test": { - "version": "0.3.0", - "resolved": "https://npm.jsr.io/~/11/@jsr/polymorph__test/0.3.0.tgz", - "integrity": "sha512-NlpHmd5fA3KB/aAaXrBW4KX57UXkl/V9+RLa+fchFUsjASsigthEHMEiiNozRYN/l3xgsKMSC7J3IPp9VtECsQ==" + "version": "0.3.1", + "resolved": "https://npm.jsr.io/~/11/@jsr/polymorph__test/0.3.1.tgz", + "integrity": "sha512-IIwmnw5F/JHgpuQUzHL+qFJ6lv+gr4mNuXRf2VXVqUQhaf1UaqdgOFHbN2bcsIVtZR3JH+2xKcODB3/SRcJJWg==" }, "node_modules/playwright-core": { "version": "1.62.1", diff --git a/conformance/driver-ct/polyengine/package.json b/conformance/driver-ct/polyengine/package.json index 233916b..44c957a 100644 --- a/conformance/driver-ct/polyengine/package.json +++ b/conformance/driver-ct/polyengine/package.json @@ -4,7 +4,7 @@ "type": "module", "description": "Node driver for the polyengine-browser conformance rows: the composed artifacts runtime-linked inside headless Chromium through the upstream page driver and polyengine worker.", "dependencies": { - "@jsr/polymorph__test": "0.3.0", + "@jsr/polymorph__test": "0.3.1", "playwright-core": "1.62.1" } } diff --git a/conformance/guest-ct/Cargo.toml b/conformance/guest-ct/Cargo.toml index 4b42e7c..bc963c5 100644 --- a/conformance/guest-ct/Cargo.toml +++ b/conformance/guest-ct/Cargo.toml @@ -10,10 +10,9 @@ publish = false crate-type = ["cdylib"] [dependencies] -# The SDK owns the polymorph:test contract bindings (its own wit-bindgen -# 0.60 line); the SUT bindings below must stay on the same line so the -# two binding sets share one async runtime — mixing async-runtime -# versions in one binary risks split waitable state. +# The SDK's contract bindings and the SUT bindings below must share one +# wit-bindgen line so the two binding sets share one async runtime — +# mixing async-runtime versions in one binary risks split waitable state. component-test-sdk = { workspace = true } wit-bindgen = { workspace = true } futures = { workspace = true } diff --git a/examples/tls-tcp/Cargo.toml b/examples/tls-tcp/Cargo.toml index e3fc2b7..6eaf321 100644 --- a/examples/tls-tcp/Cargo.toml +++ b/examples/tls-tcp/Cargo.toml @@ -10,9 +10,6 @@ publish = false crate-type = ["cdylib"] [dependencies] -# Pinned to wasip3's wit-bindgen line: the app links both runtimes' -# generated code, and mixing async-runtime versions in one binary risks -# split waitable state. -wit-bindgen = { version = "0.57", features = ["async"] } +wit-bindgen = { workspace = true } wasip3 = { workspace = true } futures = { workspace = true }