06c536bcb7
- Updated Python CI to streamline linting, type checking, and testing processes, including the addition of a wheel build job. - Refactored Rust CI to utilize pre-built actions for cargo-deny and cargo-audit, improving dependency checks. - Optimized WASM CI by consolidating build and test steps, and ensuring proper artifact uploads for both Node.js and web packages. - Added token authentication for GitHub actions in the release workflow to enhance security.
49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
name: CI WASM
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
wasm:
|
|
name: WASM (test + build + bench)
|
|
runs-on: ubuntu-latest
|
|
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
|