Skip to content

ci: install WAMR for WASI standard-library jobs - #29

Merged
cpunion merged 1 commit into
llgo-compat:mainfrom
cpunion:codex/fix-wamr-std-setup-issue28-20261003
Oct 3, 2026
Merged

cpunion merged 1 commit into
llgo-compat:mainfrom
cpunion:codex/fix-wamr-std-setup-issue28-20261003

Conversation

@cpunion

@cpunion cpunion commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

The standard-library workflow installs Wasmtime but never installs WAMR. Since LLGo #2697 made WAMR threads the default W32 backend, every W32-WASI package fails to launch with exec: "iwasm": executable file not found in $PATH. The same missing executable also fails the WASI GOROOT sentinels. The report in #28 contains 190 W32 package failures from this single setup omission.

Restore the checked-out LLGo revision's WAMR cache and run its pinned dev/build_iwasm.sh in both the W32-WASI acceptance jobs and the GOROOT sentinel job. The builder checks its source/patch build identity and exports the executable directory through GITHUB_PATH. Cache restoration is limited to WAMR; Wasmtime remains available for reference tooling.

Refs #28. The three independent J32-GoJS host-check failures also require the LLGo acceptance-child runner fix in xgo-dev/llgo#2718.

Validation:

  • actionlint .github/workflows/std.yml and git diff --check.
  • Ran the same dev/build_iwasm.sh installer with GITHUB_PATH set; it selected the matching cached binary and exported the expected directory.
  • With that WAMR binary on PATH, the actual W32-WASI GOROOT runner passed bom.go and helloworld.go (the two previously failing sentinels).
  • Ran the full W32-WASI audit driver for test (39 tests), test/go (242 tests), and test/llgoext (24 tests), selecting one whole package per shard (0, 9, and 17 of 201). All three packages and all 14 host checks passed, including builtin print, panic/repanic locations, invalid-finalizer diagnostics, and main-Goexit lifecycle. This was targeted validation of the affected execution paths; the complete 190-package W32 audit was not rerun locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant