Files
ferro-ta/.github/workflows/ci-wasm.yml
T
2026-03-24 02:02:10 +05:30

53 lines
1.3 KiB
YAML

name: CI WASM
on:
workflow_call:
permissions:
contents: read
jobs:
wasm:
name: WASM binding (wasm-pack test --node)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install Rust (stable)
uses: dtolnay/rust-toolchain@v1
with:
toolchain: stable
targets: wasm32-unknown-unknown
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Build and test WASM binding
working-directory: wasm
run: wasm-pack test --node
- name: Build WASM package (nodejs target)
working-directory: wasm
run: wasm-pack build --target nodejs --out-dir pkg
- name: Benchmark WASM package
working-directory: wasm
run: node bench.js --json ../wasm_benchmark.json
- name: Upload WASM package artifact
uses: actions/upload-artifact@v7
with:
name: wasm-pkg
path: wasm/pkg/
- name: Upload WASM benchmark artifact
uses: actions/upload-artifact@v7
with:
name: wasm-benchmark
path: wasm_benchmark.json