@@ -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