alexcrichton commented on issue #3025:
Thanks! FWIW the location of the
WASIsubmodule is pretty finnicky especially when it comes to publishing to crates.io. For the easiest time updating I'd recommend updating it in-place if possible
github-actions[bot] commented on issue #3025:
Subscribe to Label Action
cc @kubkon
<details>
This issue or pull request has been labeled: "wasi"Thus the following users have been cc'd because of the following labels:
- kubkon: wasi
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
cratelyn commented on issue #3025:
Thanks! FWIW the location of the
WASIsubmodule is pretty finnicky especially when it comes to publishing to crates.io. For the easiest time updating I'd recommend updating it in-place if possibleThanks @alexcrichton! I'll give that another go, moving the submodule was motivated by errors I was seeing that looked like a variation of rust-lang/cargo#6745. I wasn't able to
excludethat directory from the root workspace, so commands likecargo buildwere failing due to multiple workspace roots being found.
cratelyn commented on issue #3025:
error: multiple workspace roots found in the same workspace: /home/katelyn/fsly/wasmtime/crates/wasi-common/WASI/tools/witx /home/katelyn/fsly/wasmtimeFor reference, this is the error I am seeing after updating the WASI submodule. I believe it's because of the
witx-clichanges in WebAssembly/WASI#398 playing poorly with structure of this project.
cratelyn edited a comment on issue #3025:
error: multiple workspace roots found in the same workspace: /home/katelyn/fsly/wasmtime/crates/wasi-common/WASI/tools/witx /home/katelyn/fsly/wasmtimeFor reference, this is the error I am seeing after updating the WASI submodule. I believe it's because of the
witx-clichanges in WebAssembly/WASI#398 playing poorly with structure of this project.As alluded in my comment above, adding an
exclude = ["crates/wasi-common/WASI/tools/witx"]to the root manifest doesn't end up working, because"crates/wasi-common"is a member of the workspace.
alexcrichton commented on issue #3025:
Oh dear... I think there's probably three ways to fix this:
- Remove the workspace changes to the WASI repository, enabling integration here the same as before.
- Fix the issues after moving this
vendordir around (I don't know off-hand how hard this would be)- Depend on the crates.io version of
witx, not a git submodule. I think that this would require doing the same steps from (2), but we could just avoid a git submodule.The easiest is probably the first one here, and the best is probably the 3rd, but that requires changes of how we integrate the WASI spec updates into this repository, since I think we rely on them existing in the
wasi-commoncrate but now they'd be stored in thewitxcrate itself (I think?) published to crates.io
alexcrichton commented on issue #3025:
Hm actually scratch that I don't think the
witxcrate as published to crates.io contains the wasi snapshot witx files. Sorry for this mess :(I'd probably recommend just hacking around this by removing the
[workspace]in thewitxcrate for now? Ideally we'll fix this in the long term by separating the tooling and the*.witxfiles since we want tooling as a crates.io dep and the*.witxfiles as a submodule.
cratelyn commented on issue #3025:
Run rustc scripts/publish.rs thread 'main' panicked at 'failed to find "witx-cli" in whitelist or blacklist', scripts/publish.rs:135:13This shouldn't be _too_ hard to fix, but I see some special logic around
witxand that'll have to wait until tomorrow morning for me.
cratelyn commented on issue #3025:
Oh I'm going to mark this as "ready for review" since we're kinda already in the process of reviewing this work. :+1:
cratelyn commented on issue #3025:
error: current package believes it's in a workspace when it's not: current: /home/runner/work/wasmtime/wasmtime/crates/wasi-common/WASI/tools/witx-cli/Cargo.toml workspace: /home/runner/work/wasmtime/wasmtime/Cargo.toml this may be fixable by adding `crates/wasi-common/WASI/tools/witx-cli` to the `workspace.members` array of the manifest located at: /home/runner/work/wasmtime/wasmtime/Cargo.toml Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest.Oh no :fearful: It seems it's our old friend again. I'm trying to find a way around this...
cratelyn edited a comment on issue #3025:
error: current package believes it's in a workspace when it's not: current: /home/runner/work/wasmtime/wasmtime/crates/wasi-common/WASI/tools/witx-cli/Cargo.toml workspace: /home/runner/work/wasmtime/wasmtime/Cargo.toml this may be fixable by adding `crates/wasi-common/WASI/tools/witx-cli` to the `workspace.members` array of the manifest located at: /home/runner/work/wasmtime/wasmtime/Cargo.toml Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest.Oh no :fearful: It seems it's our old friend again. I'm trying to find a way around this. I've tried...
Add
witx-clito root workspaceThis fails, with an error that looks like:
error: no matching package named `diff` found location searched: registry `https://github.com/rust-lang/crates.io-index` perhaps you meant: ff, der, half, ... required by package `witx-cli v0.9.1 (/home/katelyn/fsly/wasmtime/crates/wasi-common/WASI/tools/witx-cli)`Not entirely sure why this happens, honestly? But it seems... wrong.
cratelyn edited a comment on issue #3025:
error: current package believes it's in a workspace when it's not: current: /home/runner/work/wasmtime/wasmtime/crates/wasi-common/WASI/tools/witx-cli/Cargo.toml workspace: /home/runner/work/wasmtime/wasmtime/Cargo.toml this may be fixable by adding `crates/wasi-common/WASI/tools/witx-cli` to the `workspace.members` array of the manifest located at: /home/runner/work/wasmtime/wasmtime/Cargo.toml Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest.Oh no :fearful: It seems it's our old friend again. I'm trying to find a way around this. I've tried...
:one: Add
witx-clito rootworkspace.membersThis fails, with an error that looks like:
error: no matching package named `diff` found location searched: registry `https://github.com/rust-lang/crates.io-index` perhaps you meant: ff, der, half, ... required by package `witx-cli v0.9.1 (/home/katelyn/fsly/wasmtime/crates/wasi-common/WASI/tools/witx-cli)`Not entirely sure why this happens, honestly? But it seems... wrong.
:two: Add
witx-clito rootworkspace.excludeThis doesn't change the error, AIUI this is the cargo issue I linked in a comment above.
cratelyn edited a comment on issue #3025:
error: current package believes it's in a workspace when it's not: current: /home/runner/work/wasmtime/wasmtime/crates/wasi-common/WASI/tools/witx-cli/Cargo.toml workspace: /home/runner/work/wasmtime/wasmtime/Cargo.toml this may be fixable by adding `crates/wasi-common/WASI/tools/witx-cli` to the `workspace.members` array of the manifest located at: /home/runner/work/wasmtime/wasmtime/Cargo.toml Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest.Oh no :fearful: It seems it's our old friend again. I'm trying to find a way around this. I've tried...
:one: Add
witx-clito rootworkspace.membersThis fails, with an error that looks like:
error: no matching package named `diff` found location searched: registry `https://github.com/rust-lang/crates.io-index` perhaps you meant: ff, der, half, ... required by package `witx-cli v0.9.1 (/home/katelyn/fsly/wasmtime/crates/wasi-common/WASI/tools/witx-cli)`Not entirely sure why this happens, honestly? But it seems... wrong.
:two: Add
witx-clito rootworkspace.excludeThis doesn't change the error, AIUI this is the cargo issue I linked in a comment above.
:three: Make
crates/wasi-commona workspaceThis one feels like a non-starter, as we're instantly in a state of multiple workspace roots.
Last updated: Dec 06 2025 at 06:05 UTC