@@ -229,13 +229,28 @@ jobs:
229229 # run: cargo test
230230
231231 web:
232- name: Web
232+ name: Web ${{ matrix.rust.description }}
233233 runs-on: ubuntu-24.04
234+ strategy:
235+ fail-fast: false
236+ matrix:
237+ rust:
238+ - { version: stable, atomics: false }
239+ - {
240+ description: with Atomics,
241+ atomics: true,
242+ version: nightly,
243+ components: rust-src,
244+ flags: '-Ctarget-feature=+atomics,+bulk-memory',
245+ args: '-Zbuild-std=panic_abort,std',
246+ }
234247 steps:
235248 - uses: actions/checkout@v4
236- - uses: dtolnay/rust-toolchain@stable
249+ - uses: dtolnay/rust-toolchain@master
237250 with:
251+ toolchain: ${{ matrix.rust.version }}
238252 targets: wasm32-unknown-unknown
253+ components: ${{ matrix.rust.components }}
239254 # - name: Install precompiled wasm-bindgen
240255 # shell: bash
241256 # run: |
@@ -251,39 +266,39 @@ jobs:
251266 - uses: Swatinem/rust-cache@v2
252267 - name: Test (Node)
253268 env:
254- RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
255- run: cargo test --target wasm32-unknown-unknown --features std
269+ RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js" ${{ matrix.rust.flags }}
270+ run: cargo test --target wasm32-unknown-unknown --features std ${{ matrix.rust.args }}
256271 - name: Test (Firefox)
257272 env:
258273 GECKODRIVER: geckodriver
259274 WASM_BINDGEN_USE_BROWSER: 1
260- RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
261- run: cargo test --target wasm32-unknown-unknown --features std
275+ RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js" ${{ matrix.rust.flags }}
276+ run: cargo test --target wasm32-unknown-unknown --features std ${{ matrix.rust.args }}
262277 - name: Test (Chrome)
263278 env:
264279 CHROMEDRIVER: chromedriver
265280 WASM_BINDGEN_USE_BROWSER: 1
266- RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
267- run: cargo test --target wasm32-unknown-unknown --features std
281+ RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js" ${{ matrix.rust.flags }}
282+ run: cargo test --target wasm32-unknown-unknown --features std ${{ matrix.rust.args }}
268283 - name: Test (dedicated worker)
269284 env:
270285 GECKODRIVER: geckodriver
271286 WASM_BINDGEN_USE_DEDICATED_WORKER: 1
272- RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
273- run: cargo test --target wasm32-unknown-unknown --features std
287+ RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js" ${{ matrix.rust.flags }}
288+ run: cargo test --target wasm32-unknown-unknown --features std ${{ matrix.rust.args }}
274289 - name: Test (shared worker)
275290 env:
276291 GECKODRIVER: geckodriver
277292 WASM_BINDGEN_USE_SHARED_WORKER: 1
278- RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
279- run: cargo test --target wasm32-unknown-unknown --features std
293+ RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js" ${{ matrix.rust.flags }}
294+ run: cargo test --target wasm32-unknown-unknown --features std ${{ matrix.rust.args }}
280295 - name: Test (service worker)
281296 env:
282297 # Firefox doesn't support module service workers and therefor can't import scripts
283298 CHROMEDRIVER: chromedriver
284299 WASM_BINDGEN_USE_SERVICE_WORKER: 1
285- RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js"
286- run: cargo test --target wasm32-unknown-unknown --features std
300+ RUSTFLAGS: -Dwarnings --cfg getrandom_backend="wasm_js" ${{ matrix.rust.flags }}
301+ run: cargo test --target wasm32-unknown-unknown --features std ${{ matrix.rust.args }}
287302
288303 wasi:
289304 name: WASI
0 commit comments