Skip to content

Commit 60afe98

Browse files
committed
build: do not run wasm tests except for the keystore
1. `wasm-pack` is unmaintained[1] and does not yet have a suitable replacement[2] 2. wasm-pack is now producing test failures without reporting what specifically has failed[3] Those test failures are kind of interesting, because they manage to be tantalizing, and provide a little information ("these 3 of over 100 tests _did_ pass..."), but omit any actionable information about what specifically has failed, where, or why. They do this very slowly, at over 20 minutes per test run. That said, given that all the tests pass when run in a native context, and all the higher-level wasm tests still pass, it seems very likely that this is a spurious failure, not indicative of a real problem. And spurious failures which appear interesting but can't be acted on are a recipe for wasted time. Better not to generate them at all. We retain the wasm-pack tests for the keystore, where apparently they are still important for idb testing. Once we have a unified database backend, we can remove those also. [1]: https://blog.rust-lang.org/inside-rust/2025/07/21/sunsetting-the-rustwasm-github-org/ [2]: wasm-bindgen/wasm-bindgen#4634 [3]: https://github.com/wireapp/core-crypto/actions/runs/19041040144/job/54378042141?pr=1522
1 parent 430530b commit 60afe98

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

.github/workflows/rust.yml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,30 @@ jobs:
6464
- name: "test corecrypto's proteus implementation"
6565
run: cargo nextest run --locked --verbose --features proteus,proteus-keystore proteus
6666

67-
wasm-test:
67+
keystore-wasm-test:
68+
runs-on: ubuntu-latest
69+
env:
70+
WASM_BINDGEN_TEST_TIMEOUT: "1200" # if our test takes over 20m, it probably _should_ fail
71+
steps:
72+
- uses: actions/checkout@v5
73+
- uses: ./.github/actions/setup-and-cache-rust
74+
with:
75+
target: wasm32-unknown-unknown
76+
- uses: wireapp/setup-chrome@master
77+
id: setup-chrome
78+
with:
79+
chrome-version: stable
80+
- run: echo "CHROME_PATH=${{ steps.setup-chrome.outputs.chrome-path }}" >> $GITHUB_ENV
81+
- name: install wasm-pack
82+
uses: taiki-e/install-action@v2
83+
with:
84+
tool: wasm-pack
85+
- run: wasm-pack test --headless --chrome ./keystore
86+
87+
keystore-proteus-wasm-test:
6888
runs-on: ubuntu-latest
6989
env:
7090
WASM_BINDGEN_TEST_TIMEOUT: "1200" # if our test takes over 20m, it probably _should_ fail
71-
strategy:
72-
matrix:
73-
config:
74-
- crate: keystore
75-
- crate: mls-provider
76-
- crate: keystore
77-
feature: --features proteus-keystore
78-
module: -- proteus
7991
steps:
8092
- uses: actions/checkout@v5
8193
- uses: ./.github/actions/setup-and-cache-rust
@@ -90,7 +102,7 @@ jobs:
90102
uses: taiki-e/install-action@v2
91103
with:
92104
tool: wasm-pack
93-
- run: wasm-pack test --headless --chrome ./${{ matrix.config.crate }} ${{ matrix.config.feature }} ${{ matrix.config.module }}
105+
- run: wasm-pack test --headless --chrome ./keystore --features proteus-keystore -- proteus
94106

95107
hack:
96108
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)