chore(repo): check the wasm target on PRs that touch rust - #36925
Open
FrozenPandaz wants to merge 1 commit into
Open
chore(repo): check the wasm target on PRs that touch rust#36925FrozenPandaz wants to merge 1 commit into
FrozenPandaz wants to merge 1 commit into
Conversation
Contributor
|
View your CI Pipeline Execution ↗ for commit e76f4af
☁️ Nx Cloud last updated this comment at |
✅ Deploy Preview for nx-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for nx-dev ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
FrozenPandaz
force-pushed
the
chore/wasm-target-check
branch
from
September 4, 2026 22:28
ca6feb8 to
5cd4b9e
Compare
The stray cfg attribute that broke walker.rs only surfaced in `pnpm build:wasm` at publish time, because nothing in PR CI builds wasm. Adds an `nx:check-native-wasm` task to the affected sweep instead of a separate workflow job, so it inherits affected detection, Nx Cloud caching and DTE distribution rather than a hand-rolled path filter and its own runner setup. `cargo check` never links, so it needs none of the wasi-sdk, cmake and sqlite machinery a full wasm build does.
FrozenPandaz
marked this pull request as ready for review
September 5, 2026 05:49
FrozenPandaz
force-pushed
the
chore/wasm-target-check
branch
from
September 5, 2026 05:49
5cd4b9e to
e76f4af
Compare
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.
Current Behavior
Nothing in PR CI builds or type-checks the wasm target.
pnpm build:wasmonly runs inpublish.yml, so a wasm-only compile break is invisible until publish time — which is exactly how the stray#[cfg]in #36924 escaped review:Expected Behavior
A PR that touches Rust type-checks the native crate for
wasm32-wasip1-threads, so the next one of these fails on the PR.This is an nx task rather than a separate workflow job, so it inherits three things instead of re-implementing them:
nativenamed input already covers**/*.rs,**/Cargo.*, the workspaceCargo.toml/Cargo.lock,clippy.tomland.cargo/config.toml— a content-hashed superset of what apathsfilter or agit diff | grepgate would match.cache: truewith no outputs makes it a pass/fail verdict keyed on those inputs, so an unchanged rerun costs nothing.nx affectedsweep and lands on an agent, so it adds no wall clock tomain-linuxand needs no second runner, checkout, mise, corepack, pnpm store cache or install.cargo checknever links, so it needs none of the wasi-sdk, cmake and sqlite machinery a fullpnpm build:wasmdoes.Notes
nativenamed input carries{"runtime": "rustc --version"}, which reports the stable rustc frommise.toml— without the script ininputs, changing the pinned nightly would not invalidate the cache.parallelism: false, since the task may invokerustup, which is not safe against concurrent writes to the sameRUSTUP_HOME.packages/nx/src/lib.rsputswasi_extbehind#![feature], which stable rejects with E0554 before it type-checks anything.rustup run <toolchain>rather thanRUSTUP_TOOLCHAIN, because mise puts its own non-shimcargoonPATH(therustpin inmise.toml) and that one ignores the variable.~/.rustupon contributor machines. It does not change the active or default toolchain —rustup toolchain installonly unpacks,rustup runscopes to one child process, andrust-toolchain.tomlpins 1.95.0 inside the repo regardless.Verification
Run against the stray-
#[cfg]code, the task reproduces theE0599above; with #36924's fix applied it passes. So it is real coverage rather than a check that cannot fail.Related Issue(s)
None.
View Polygraph session ↗