Repository navigation
chore(quest): plan compiling wasm32 on every PR #545
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| # [S] wasm32 compiles on every PR | ||
|
|
||
| ## Goal | ||
|
|
||
| Every PR that changes rind's code compiles the `rind` library for `wasm32-unknown-unknown` (with `getrandom/wasm_js`) and `wasm32-wasip2`, with and without `wipe`, in `just check`'s `cross` module, so a wasm build break fails before merging rather than in a nightly run. | ||
| The flake's pinned toolchain gains both targets. | ||
| The nightly `wasm` job in `build.yml` that [moq-dev/rind#543](https://github.com/moq-dev/rind/pull/543) added is deleted as redundant, and [PLATFORMS.md](/PLATFORMS.md) says PRs check it. | ||
|
|
||
| Non-goals: runtime tests on wasm, the adapters on wasm, and speed. | ||
|
|
||
| ## Plan | ||
|
|
||
| Decided with the maintainer on 2026-11-09, while landing moq-dev/rind#543 (✅ chosen): | ||
|
|
||
| - Gate: ✅ check wasm on every PR in a follow-up quest (rejected: extend #543 to do it; keep wasm nightly-only). | ||
| - Scope: ✅ wasm32 is a compile-only target on the portable backend, checked on every PR (rejected: nightly best-effort and unsupported; stay a non-goal and strip #543 to the MD5 fix). An outside user needs wasm, and a compile check is cheap. | ||
| - Goal: ✅ the `rind` library only, both targets, with and without `wipe` (rejected: also compile rind-rustls; keep #543's nightly job too). | ||
| - Placement: ✅ this epic (rejected: m0, m3). | ||
|
|
||
| [moq-dev/rind#412](https://github.com/moq-dev/rind/pull/412) broke the wasm build with MD5's inline-asm optimizer barrier, and only a user noticed. #543 fixed it with `core::hint::black_box` on the wasm target family. Start once #543 has landed. | ||
|
|
||
| Library builds only: the differential tests link native aws-lc, so `cargo test` cannot cross-compile to wasm. | ||
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This reversal leaves three docs still stating the pre-#543 "no wasm build" state, and the quest's deliverables only name
PLATFORMS.md.quest/m0/adapters/ring.md:14is the one that matters most — it records the old state unqualified in the quest tree. Add these to the quest's Goal (or repoint them here), so the reversal is recorded both ways.Technical details