rvolosatovs edited PR #6486:
Refs #6390
I used https://github.com/bytecodealliance/wit-deps to populate the
wit/depsdirectories, I checked in the correspondingdeps.tomlanddeps.lockfiles for futurewit-deps updateusage, but I did not add a dependency on the tool (yet?) by eitherbuild.rsintegration or direct binary usage like was requested in https://github.com/bytecodealliance/preview2-prototyping/pull/136 earlierI also did not touch
crates/wasi/wit/depsother thanpreview, since package is using dependency versions, which are different from upstream
- update outdated WIT files
- move
crates/wasi/wit/deps/previewtocrates/wasi/wit, sincepreviewpackage is the WASI package- fix
cargo vendoruse cases (downstream crates utilizing Wasmtime viacargo vendor) by ensuring that all WIT-using crates are self-contained- use consistent naming and location scheme for dependencies (e.g.
deps/cli-baseforwasi:cli-base, just likedeps/iois used forwasi:io)
rvolosatovs has marked PR #6486 as ready for review.
rvolosatovs requested pchickey for a review on PR #6486.
rvolosatovs requested wasmtime-core-reviewers for a review on PR #6486.
rvolosatovs requested wasmtime-default-reviewers for a review on PR #6486.
rvolosatovs updated PR #6486.
rvolosatovs edited PR #6486:
Refs #6390
- Move
crates/wasi/wit/deps/previewtocrates/wasi/wit- Move
crates/wasi/wit/test.wittocrates/test-programs/reactor-tests/wit/test.wit- Sync dependencies with upstream
- Rename
wasi:cli-basetowasi:clito better match upstream- Introduce
wasmtime-wit-depsdevelopment command to validate and update WIT dependencies
rvolosatovs edited PR #6486:
Refs #6390
- Move
crates/wasi/wit/deps/previewtocrates/wasi/wit- Move
crates/wasi/wit/test.wittocrates/test-programs/reactor-tests/wit/test.wit- Move custom standard packages used by
wasicrate tocrates/wasi/{filesystem,clocks,cli}- Sync dependencies with upstream
- Rename
wasi:cli-basetowasi:clito better match upstream- Introduce
wasmtime-wit-depsdevelopment command to validate and update WIT dependenciesTo update dependencies:
cargo run -p wasmtime-wit-deps updateTo "lock" (e.g. to propagate local changes in
crates/wasito other crates without updating any dependencies from network)cargo run -p wasmtime-wit-deps lockExample of a lock operation:
Diff like:
diff --git a/crates/wasi/wit/filesystem/filesystem.wit b/crates/wasi/wit/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/filesystem/filesystem.wit +++ b/crates/wasi/wit/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.followed by
cargo run -p wasmtime-wit-deps lockwould produce the following diff in the rest of the codebase:diff --git a/crates/test-programs/reactor-tests/wit/deps.lock b/crates/test-programs/reactor-tests/wit/deps.lock index f2ad0e1e5..475c51d56 100644 --- a/crates/test-programs/reactor-tests/wit/deps.lock +++ b/crates/test-programs/reactor-tests/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit +++ b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi-preview1-component-adapter/wit/deps.lock b/crates/wasi-preview1-component-adapter/wit/deps.lock index 5c1e9d2f8..7897bb2dd 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps.lock +++ b/crates/wasi-preview1-component-adapter/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi/wit/deps.lock b/crates/wasi/wit/deps.lock index 06e56aff9..55ae6d181 100644 --- a/crates/wasi/wit/deps.lock +++ b/crates/wasi/wit/deps.lock @@ -10,8 +10,8 @@ sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f316 [filesystem] path = "filesystem" -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] url = "https://github.com/WebAssembly/wasi-http/archive/main.tar.gz" diff --git a/crates/wasi/wit/deps/filesystem/filesystem.wit b/crates/wasi/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.
rvolosatovs updated PR #6486.
rvolosatovs updated PR #6486.
rvolosatovs edited PR #6486:
Refs #6390
- Move
crates/wasi/wit/deps/previewtocrates/wasi/wit- Move
crates/wasi/wit/test.wittocrates/test-programs/reactor-tests/wit/test.wit- Move custom standard packages used by
wasicrate tocrates/wasi/{filesystem,clocks,cli}- Sync dependencies with upstream
- Rename
wasi:cli-basetowasi:clito better match upstream- Introduce
wasmtime-wit-depsdevelopment command to validate and update WIT dependenciesNOTE: I have originally made the tool part of the workspace, but that required me to vet 71 new dependency, so I moved it outside the workspace to remove the need for doing that, after all it should not influence the wasmtime dependency graph and we would not do this audit if we used https://github.com/bytecodealliance/wit-deps as a binary directly
To update dependencies:
cargo run --manifest-path ./crates/wit-deps/Cargo.toml updateTo "lock" (e.g. to propagate local changes in
crates/wasito other crates without updating any dependencies from network)cargo run --manifest-path ./crates/wit-deps/Cargo.toml lockExample of a lock operation:
Diff like:
diff --git a/crates/wasi/wit/filesystem/filesystem.wit b/crates/wasi/wit/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/filesystem/filesystem.wit +++ b/crates/wasi/wit/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.followed by
cargo run -p wasmtime-wit-deps lockwould produce the following diff in the rest of the codebase:diff --git a/crates/test-programs/reactor-tests/wit/deps.lock b/crates/test-programs/reactor-tests/wit/deps.lock index f2ad0e1e5..475c51d56 100644 --- a/crates/test-programs/reactor-tests/wit/deps.lock +++ b/crates/test-programs/reactor-tests/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit +++ b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi-preview1-component-adapter/wit/deps.lock b/crates/wasi-preview1-component-adapter/wit/deps.lock index 5c1e9d2f8..7897bb2dd 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps.lock +++ b/crates/wasi-preview1-component-adapter/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi/wit/deps.lock b/crates/wasi/wit/deps.lock index 06e56aff9..55ae6d181 100644 --- a/crates/wasi/wit/deps.lock +++ b/crates/wasi/wit/deps.lock @@ -10,8 +10,8 @@ sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f316 [filesystem] path = "filesystem" -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] url = "https://github.com/WebAssembly/wasi-http/archive/main.tar.gz" diff --git a/crates/wasi/wit/deps/filesystem/filesystem.wit b/crates/wasi/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.
rvolosatovs edited PR #6486:
Refs #6390
- Move
crates/wasi/wit/deps/previewtocrates/wasi/wit- Move
crates/wasi/wit/test.wittocrates/test-programs/reactor-tests/wit/test.wit- Move custom standard packages used by
wasicrate tocrates/wasi/{filesystem,clocks,cli}- Sync dependencies with upstream
- Rename
wasi:cli-basetowasi:clito better match upstream- Introduce
wasmtime-wit-depsdevelopment command to validate and update WIT dependenciesNOTE: I have originally made the tool part of the workspace, but that required me to vet 71 dependency changes (additions/updates), so I moved it outside the workspace to remove the need for doing that, after all it should not influence the wasmtime dependency graph and we would not do this audit if we used https://github.com/bytecodealliance/wit-deps as a binary directly
To update dependencies:
cargo run --manifest-path ./crates/wit-deps/Cargo.toml updateTo "lock" (e.g. to propagate local changes in
crates/wasito other crates without updating any dependencies from network)cargo run --manifest-path ./crates/wit-deps/Cargo.toml lockExample of a lock operation:
Diff like:
diff --git a/crates/wasi/wit/filesystem/filesystem.wit b/crates/wasi/wit/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/filesystem/filesystem.wit +++ b/crates/wasi/wit/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.followed by
cargo run -p wasmtime-wit-deps lockwould produce the following diff in the rest of the codebase:diff --git a/crates/test-programs/reactor-tests/wit/deps.lock b/crates/test-programs/reactor-tests/wit/deps.lock index f2ad0e1e5..475c51d56 100644 --- a/crates/test-programs/reactor-tests/wit/deps.lock +++ b/crates/test-programs/reactor-tests/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit +++ b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi-preview1-component-adapter/wit/deps.lock b/crates/wasi-preview1-component-adapter/wit/deps.lock index 5c1e9d2f8..7897bb2dd 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps.lock +++ b/crates/wasi-preview1-component-adapter/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi/wit/deps.lock b/crates/wasi/wit/deps.lock index 06e56aff9..55ae6d181 100644 --- a/crates/wasi/wit/deps.lock +++ b/crates/wasi/wit/deps.lock @@ -10,8 +10,8 @@ sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f316 [filesystem] path = "filesystem" -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] url = "https://github.com/WebAssembly/wasi-http/archive/main.tar.gz" diff --git a/crates/wasi/wit/deps/filesystem/filesystem.wit b/crates/wasi/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.
rvolosatovs edited PR #6486:
Refs #6390
- Move
crates/wasi/wit/deps/previewtocrates/wasi/wit- Move
crates/wasi/wit/test.wittocrates/test-programs/reactor-tests/wit/test.wit- Move custom standard packages used by
wasicrate tocrates/wasi/{filesystem,clocks,cli}- Sync dependencies with upstream
- Rename
wasi:cli-basetowasi:clito better match upstream- Introduce
wasmtime-wit-depsdevelopment command to validate and update WIT dependenciesNOTE: I have originally made the tool part of the workspace, but that required me to vet 71 dependency changes (additions/updates), so I moved it outside the workspace to remove the need for doing that, after all it should not influence the wasmtime dependency graph and we would not do this audit if we used https://github.com/bytecodealliance/wit-deps as a binary directly (see https://github.com/bytecodealliance/wasmtime/pull/6486/commits/d6d6b1c633ac9469e71f7c3877fc2ba52d4368bf)
To update dependencies:
cargo run --manifest-path ./crates/wit-deps/Cargo.toml updateTo "lock" (e.g. to propagate local changes in
crates/wasito other crates without updating any dependencies from network)cargo run --manifest-path ./crates/wit-deps/Cargo.toml lockExample of a lock operation:
Diff like:
diff --git a/crates/wasi/wit/filesystem/filesystem.wit b/crates/wasi/wit/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/filesystem/filesystem.wit +++ b/crates/wasi/wit/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.followed by
cargo run -p wasmtime-wit-deps lockwould produce the following diff in the rest of the codebase:diff --git a/crates/test-programs/reactor-tests/wit/deps.lock b/crates/test-programs/reactor-tests/wit/deps.lock index f2ad0e1e5..475c51d56 100644 --- a/crates/test-programs/reactor-tests/wit/deps.lock +++ b/crates/test-programs/reactor-tests/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit +++ b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi-preview1-component-adapter/wit/deps.lock b/crates/wasi-preview1-component-adapter/wit/deps.lock index 5c1e9d2f8..7897bb2dd 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps.lock +++ b/crates/wasi-preview1-component-adapter/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi/wit/deps.lock b/crates/wasi/wit/deps.lock index 06e56aff9..55ae6d181 100644 --- a/crates/wasi/wit/deps.lock +++ b/crates/wasi/wit/deps.lock @@ -10,8 +10,8 @@ sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f316 [filesystem] path = "filesystem" -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] url = "https://github.com/WebAssembly/wasi-http/archive/main.tar.gz" diff --git a/crates/wasi/wit/deps/filesystem/filesystem.wit b/crates/wasi/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.
rvolosatovs updated PR #6486.
rvolosatovs edited PR #6486:
Refs #6390
- Move
crates/wasi/wit/deps/previewtocrates/wasi/wit- Move
crates/wasi/wit/test.wittocrates/test-programs/reactor-tests/wit/test.wit- Move custom standard packages used by
wasicrate tocrates/wasi/{filesystem,clocks,cli}- Sync dependencies with upstream
- Rename
wasi:cli-basetowasi:clito better match upstream- Introduce
wasmtime-wit-depsdevelopment command to validate and update WIT dependenciesNOTE: I have originally made the tool part of the workspace, but that required me to vet 71 dependency changes (additions/updates), so I moved it outside the workspace to remove the need for doing that, after all it should not influence the wasmtime dependency graph and we would not do this audit if we used https://github.com/bytecodealliance/wit-deps as a binary directly (see https://github.com/bytecodealliance/wasmtime/pull/6486/commits/b22c571b911c1bbdd2d9356d72de18606d3e08ce)
To update dependencies:
cargo run --manifest-path ./crates/wit-deps/Cargo.toml updateTo "lock" (e.g. to propagate local changes in
crates/wasito other crates without updating any dependencies from network)cargo run --manifest-path ./crates/wit-deps/Cargo.toml lockExample of a lock operation:
Diff like:
diff --git a/crates/wasi/wit/filesystem/filesystem.wit b/crates/wasi/wit/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/filesystem/filesystem.wit +++ b/crates/wasi/wit/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.followed by
cargo run -p wasmtime-wit-deps lockwould produce the following diff in the rest of the codebase:diff --git a/crates/test-programs/reactor-tests/wit/deps.lock b/crates/test-programs/reactor-tests/wit/deps.lock index f2ad0e1e5..475c51d56 100644 --- a/crates/test-programs/reactor-tests/wit/deps.lock +++ b/crates/test-programs/reactor-tests/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit +++ b/crates/test-programs/reactor-tests/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi-preview1-component-adapter/wit/deps.lock b/crates/wasi-preview1-component-adapter/wit/deps.lock index 5c1e9d2f8..7897bb2dd 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps.lock +++ b/crates/wasi-preview1-component-adapter/wit/deps.lock @@ -7,8 +7,8 @@ sha256 = "e52b48c854965405223e61fded08da1450cf1ee7a0e5e546433f5fb0df7e1aff" sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f3165029efbec49e3c6b3e9b893d6102d31aae1d8119eb38222233afc9ce62" [filesystem] -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] sha256 = "3d41ce13364177bdf7eea92d78d9ab302ccd5d9462cfdf074677d50244c565b1" diff --git a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi-preview1-component-adapter/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. diff --git a/crates/wasi/wit/deps.lock b/crates/wasi/wit/deps.lock index 06e56aff9..55ae6d181 100644 --- a/crates/wasi/wit/deps.lock +++ b/crates/wasi/wit/deps.lock @@ -10,8 +10,8 @@ sha512 = "62a781f27f60c9f882f878578ffc2c0c0ad92bbdbed8c727ec588ca345da348690f316 [filesystem] path = "filesystem" -sha256 = "2bfd4a753f7b937c1c32d40c785a2a43414fe3ba062be4b6c6264e07efd8e0d9" -sha512 = "4c1f68f9b57bb9fc0564062ae848fdecfba1b33116d03fb17014a23e9fb5ed3f0a1ceaf853397216d40288079c835d11c7f7a9830656da2812cdbddf87247dc5" +sha256 = "6f15b1a87e7de09972af5fdd9114cabda085e81a0aa3669ab4e86a6faa982f9a" +sha512 = "c9c81eda59bb9286d5ad0b830a5c720279bcf9f57cf8bf65a7febc50275a8b6883f445edf6f382fdaa19088a8093ded5e210801e7012bec8f4c5ce990f674120" [http] url = "https://github.com/WebAssembly/wasi-http/archive/main.tar.gz" diff --git a/crates/wasi/wit/deps/filesystem/filesystem.wit b/crates/wasi/wit/deps/filesystem/filesystem.wit index 930f37567..3a60fe5c4 100644 --- a/crates/wasi/wit/deps/filesystem/filesystem.wit +++ b/crates/wasi/wit/deps/filesystem/filesystem.wit @@ -1,5 +1,6 @@ package wasi:filesystem + /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead.
rvolosatovs updated PR #6486.
rvolosatovs updated PR #6486.
rvolosatovs edited PR #6486:
(I have removed the old description, since it's no longer relevant)
Duplicate WIT dependencies ofwasicrate inwasi-preview1-component-adapterto avoid using relative paths inwit-bindgeninvocations fixing downstream dependencies onwasi-preview1-component-adapterusingcargo vendor
rvolosatovs edited PR #6486:
(I have removed the old description, since it's no longer relevant)
Duplicate WIT dependencies ofwasicrate inwasi-preview1-component-adapterto avoid using relative paths inwit-bindgeninvocations fixing downstream dependencies onwasi-preview1-component-adapterusingcargo vendorThis is checked in CI, but developers are free to use whichever tool they chose to achieve this. Running
wit-deps lockfromcrates/wasi-preview1-component-adapteris one way to do it
Last updated: Dec 06 2025 at 06:05 UTC