Stream: git-wasmtime

Topic: wasmtime / issue #9932 CI silently swallows errors and te...


view this post on Zulip Wasmtime GitHub notifications bot (Jan 06 2025 at 17:12):

ifsheldon opened issue #9932:

Here is a simple example that has block my PR #9788 for weeks.

In this PR, I need to use wasm32-wasip2 target, which was not added here
https://github.com/bytecodealliance/wasmtime/blob/fc7ef8d62e196df90522b26ed055bc21667cd19a/.github/actions/install-rust/action.yml#L67
which is used by CI.

My PR added L69 to compile an example with wasm32-wasip2 target like below:

<img width="1199" alt="image" src="https://github.com/user-attachments/assets/f5780e6a-0e2e-4b67-a85c-b576ec431b38" />

This create_rust_wasm(wasi wasm32-wasip2) should have failed CI but not, because it didn't checked the return code of the command that was run.

The command should have returned something like

cargo build -p example-wasi-wasm --target wasm32-wasip2
   Compiling example-wasi-wasm v0.0.0 (/Users/zhiqiu/offline_code/opensource/wasmtime/examples/wasm)
error[E0463]: can't find crate for `std`
  |
  = note: the `aarch64-apple-ios` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-wasip2`

For more information about this error, try `rustc --explain E0463`.
error: could not compile `example-wasi-wasm` (bin "wasi") due to 1 previous error

This error was not checked, so a test failed later, because this step didn't compiled a required manifest file (wasi.wasm).

I don't know if this case is a special case or there are loopholes in CI in which CMake is used but it does not checked a return code of a command that is run.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 07 2025 at 02:47):

ifsheldon edited issue #9932:

Here is a simple example that has blocked my PR #9788 for weeks.

In this PR, I need to use wasm32-wasip2 target, which was not added here
https://github.com/bytecodealliance/wasmtime/blob/fc7ef8d62e196df90522b26ed055bc21667cd19a/.github/actions/install-rust/action.yml#L67
which is used by CI.

My PR added L69 to compile an example with wasm32-wasip2 target like below:

<img width="1199" alt="image" src="https://github.com/user-attachments/assets/f5780e6a-0e2e-4b67-a85c-b576ec431b38" />

This create_rust_wasm(wasi wasm32-wasip2) should have failed CI but not, because it didn't checked the return code of the command that was run.

The command should have returned something like

cargo build -p example-wasi-wasm --target wasm32-wasip2
   Compiling example-wasi-wasm v0.0.0 (/Users/zhiqiu/offline_code/opensource/wasmtime/examples/wasm)
error[E0463]: can't find crate for `std`
  |
  = note: the `aarch64-apple-ios` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-wasip2`

For more information about this error, try `rustc --explain E0463`.
error: could not compile `example-wasi-wasm` (bin "wasi") due to 1 previous error

This error was not checked, so a test later failed with misleading error messages, because this step didn't compiled a required manifest file (wasi.wasm).

I don't know if this case is a special case or there are loopholes in CI in which CMake is used but it does not checked a return code of a command that is run.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 07 2025 at 17:28):

ifsheldon edited issue #9932:

Here is a simple example that has blocked my PR #9788 for weeks.

In this PR, I need to use wasm32-wasip2 target, which was not added here
https://github.com/bytecodealliance/wasmtime/blob/fc7ef8d62e196df90522b26ed055bc21667cd19a/.github/actions/install-rust/action.yml#L67
which is used by CI.

My PR added L69 to compile an example with wasm32-wasip2 target like below:

<img width="1199" alt="image" src="https://github.com/user-attachments/assets/f5780e6a-0e2e-4b67-a85c-b576ec431b38" />

This create_rust_wasm(wasi wasm32-wasip2) should have failed CI but not, because it didn't checked the return code of the command that was run.

The command should have returned something like

cargo build -p example-wasi-wasm --target wasm32-wasip2
   Compiling example-wasi-wasm v0.0.0 (/Users/zhiqiu/offline_code/opensource/wasmtime/examples/wasm)
error[E0463]: can't find crate for `std`
  |
  = note: the `wasm32-wasip2` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-wasip2`

For more information about this error, try `rustc --explain E0463`.
error: could not compile `example-wasi-wasm` (bin "wasi") due to 1 previous error

This error was not checked, so a test later failed with misleading error messages, because this step didn't compiled a required manifest file (wasi.wasm).

I don't know if this case is a special case or there are loopholes in CI in which CMake is used but it does not checked a return code of a command that is run.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 07 2025 at 22:41):

alexcrichton closed issue #9932:

Here is a simple example that has blocked my PR #9788 for weeks.

In this PR, I need to use wasm32-wasip2 target, which was not added here
https://github.com/bytecodealliance/wasmtime/blob/fc7ef8d62e196df90522b26ed055bc21667cd19a/.github/actions/install-rust/action.yml#L67
which is used by CI.

My PR added L69 to compile an example with wasm32-wasip2 target like below:

<img width="1199" alt="image" src="https://github.com/user-attachments/assets/f5780e6a-0e2e-4b67-a85c-b576ec431b38" />

This create_rust_wasm(wasi wasm32-wasip2) should have failed CI but not, because it didn't checked the return code of the command that was run.

The command should have returned something like

cargo build -p example-wasi-wasm --target wasm32-wasip2
   Compiling example-wasi-wasm v0.0.0 (/Users/zhiqiu/offline_code/opensource/wasmtime/examples/wasm)
error[E0463]: can't find crate for `std`
  |
  = note: the `wasm32-wasip2` target may not be installed
  = help: consider downloading the target with `rustup target add wasm32-wasip2`

For more information about this error, try `rustc --explain E0463`.
error: could not compile `example-wasi-wasm` (bin "wasi") due to 1 previous error

This error was not checked, so a test later failed with misleading error messages, because this step didn't compiled a required manifest file (wasi.wasm).

I don't know if this case is a special case or there are loopholes in CI in which CMake is used but it does not checked a return code of a command that is run.


Last updated: Jan 24 2025 at 00:11 UTC