feat: clone and build wasmtime from source with component-model-async#118
Merged
tervezo-ai[bot] merged 4 commits intomainfrom Mar 15, 2026
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #60
scripts/build-wasmtime-async.shfrom a validation-only script into a full clone-and-build pipeline that clonesbytecodealliance/wasmtimeat a pinned SHA from therelease-41.0.0branch and builds with--features component-model-asyncd938a9df(Wasmtime 41.0.4, 2026-02-24, requires rustc >= 1.90.0). Thewasip3-prototypingbranch was merged into mainline wasmtime.scripts/WASMTIME_ASYNC_SHAfor CI cache key derivationdocs/wasi-03-api-surface.mddocumenting WASI 0.3 async interfaces, WarpGrid's usage, build instructions, and known limitationswasmtime-async) is prepared but requires manual merge — the GitHub App token lacksworkflowspermission to push.github/workflows/ci.ymlScript flags
--clone--build--verify--test--cleanTest plan
--cloneclones at pinned SHA, skips on re-run (idempotency)--buildcompiles wasmtime with component-model-async (~6 min)--verifycompiles inline WAT component, produces 13704-byte AOT artifact--testpasses all 5 integration checks (version, compile, AOT, run, feature)--cleanremoves vendor and build dirscargo check -p warpgrid-hostpasses🤖 Generated with Claude Code