Skip to content

feat: clone and build wasmtime from source with component-model-async#118

Merged
tervezo-ai[bot] merged 4 commits intomainfrom
feat/clone-and-build-wasmtime-from-wasip3-prototyping-branch-tqtkycvt3hhu6mobj2xr7xq0
Mar 15, 2026
Merged

feat: clone and build wasmtime from source with component-model-async#118
tervezo-ai[bot] merged 4 commits intomainfrom
feat/clone-and-build-wasmtime-from-wasip3-prototyping-branch-tqtkycvt3hhu6mobj2xr7xq0

Conversation

@tervezo-ai
Copy link
Copy Markdown
Contributor

@tervezo-ai tervezo-ai bot commented Mar 14, 2026

Summary

Closes #60

  • Rewrites scripts/build-wasmtime-async.sh from a validation-only script into a full clone-and-build pipeline that clones bytecodealliance/wasmtime at a pinned SHA from the release-41.0.0 branch and builds with --features component-model-async
  • Pins to SHA d938a9df (Wasmtime 41.0.4, 2026-02-24, requires rustc >= 1.90.0). The wasip3-prototyping branch was merged into mainline wasmtime.
  • Adds scripts/WASMTIME_ASYNC_SHA for CI cache key derivation
  • Adds docs/wasi-03-api-surface.md documenting WASI 0.3 async interfaces, WarpGrid's usage, build instructions, and known limitations
  • CI job (wasmtime-async) is prepared but requires manual merge — the GitHub App token lacks workflows permission to push .github/workflows/ci.yml

Script flags

Flag Behavior
(none) Full pipeline: clone + build + verify
--clone Clone repo at pinned SHA (idempotent)
--build Build from source (stamp-file skip if SHA matches)
--verify Compile minimal WAT component, validate AOT artifact
--test Integration test: compile, run, check feature availability
--clean Remove vendor/build directories

Test plan

  • --clone clones at pinned SHA, skips on re-run (idempotency)
  • --build compiles wasmtime with component-model-async (~6 min)
  • --verify compiles inline WAT component, produces 13704-byte AOT artifact
  • --test passes all 5 integration checks (version, compile, AOT, run, feature)
  • --clean removes vendor and build dirs
  • cargo check -p warpgrid-host passes
  • CI job needs manual addition (workflows permission)

🤖 Generated with Claude Code

nadilas and others added 4 commits March 14, 2026 10:43
Pin wasmtime main branch at cf1389857275c262a9157d157f4ea90b6b32c4c5
(2026-03-13) for reproducible source builds with component-model-async.
The wasip3-prototyping branch was merged into main.

Also adds vendor/wasmtime-async to .gitignore.

Refs #60

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rewrites the script from a validation-only tool into a full
  clone-and-build pipeline with --clone, --build, --verify, --clean flags
- Pins to wasmtime release-41.0.0 branch (SHA d938a9df, rustc >= 1.90.0)
- Includes --verify mode with inline WAT component compilation test
- Adds docs/wasi-03-api-surface.md documenting WASI 0.3 async interfaces

Refs #60

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a --test flag that validates the source-built wasmtime binary:
- Binary exists and reports version
- Compiles a component with canonical ABI (cabi_realloc, exports)
- Runs the component (validates instantiation)
- Checks component-model-async feature availability

Refs #60

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create async-echo-handler fixture with WIT bindings for integration tests
- Add WIT directory to rust-async-handler fixture (was missing, causing build failures)
- Fix integration_threading.rs to pass ShimConfig::default() to WarpGridEngine::new()
  (signature changed when ShimConfig was introduced)

Closes #60

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@tervezo-ai tervezo-ai bot merged commit 7b99ec5 into main Mar 15, 2026
3 of 10 checks passed
@tervezo-ai tervezo-ai bot deleted the feat/clone-and-build-wasmtime-from-wasip3-prototyping-branch-tqtkycvt3hhu6mobj2xr7xq0 branch March 15, 2026 06:22
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.

US-501: Clone and build Wasmtime from wasip3-prototyping branch

1 participant