Skip to content

Commit 48e368d

Browse files
add wasm tests in ci
1 parent 57c3244 commit 48e368d

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

.cargo/config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ linker = "x86_64-w64-mingw32-gcc"
33
runner = "wine64"
44

55
[target.wasm32-unknown-emscripten]
6-
runner = "node"
6+
runner = "node --experimental-wasm-modules --input-type=module -e 'import(require(\"url\").pathToFileURL(process.argv[1]))' --"

.github/workflows/rust.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,19 @@ jobs:
1717
os: [ubuntu-latest, windows-latest]
1818

1919
steps:
20+
- name: Install Emscripten for WASM tests
21+
if: matrix.os == 'ubuntu-latest'
22+
run: |
23+
sudo apt-get update
24+
sudo apt-get install -y emscripten
25+
2026
- name: Checkout code
2127
uses: actions/checkout@v4
2228

2329
- name: Install Rust toolchain
2430
uses: dtolnay/rust-toolchain@stable
31+
with:
32+
targets: wasm32-unknown-emscripten
2533

2634
# Cache cargo dependencies
2735
- uses: actions/cache@v4
@@ -42,6 +50,14 @@ jobs:
4250
- name: Run tests
4351
run: cargo test --verbose
4452

53+
- name: Build
54+
if: matrix.os == 'ubuntu-latest'
55+
run: cargo build --verbose --target wasm32-unknown-emscripten
56+
57+
- name: Run tests
58+
if: matrix.os == 'ubuntu-latest'
59+
run: cargo test --verbose --target wasm32-unknown-emscripten
60+
4561
# Tarpaulin (coverage) only runs on Linux
4662
- name: Check coverage
4763
if: matrix.os == 'ubuntu-latest'

0 commit comments

Comments
 (0)