name: CI WASM on: workflow_call: permissions: contents: read jobs: wasm: name: WASM (test + build + bench) runs-on: ubuntu-latest env: RUSTFLAGS: "" # override target-cpu=native from .cargo/config.toml steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v6 with: node-version: "20" - uses: dtolnay/rust-toolchain@v1 with: toolchain: stable targets: wasm32-unknown-unknown - uses: Swatinem/rust-cache@v2 - uses: taiki-e/install-action@v2 with: tool: wasm-pack - name: Test WASM binding working-directory: wasm run: wasm-pack test --node - name: Build WASM packages (node + web) working-directory: wasm run: npm run build - name: Check API manifest is current run: python3 scripts/check_api_manifest.py - name: Benchmark WASM working-directory: wasm run: node bench.js --json ../wasm_benchmark.json - uses: actions/upload-artifact@v7 with: name: wasm-pkg-node path: wasm/node/ - uses: actions/upload-artifact@v7 with: name: wasm-pkg-web path: wasm/web/ - uses: actions/upload-artifact@v7 with: name: wasm-benchmark path: wasm_benchmark.json