name: Publish on: release: types: [ published ] env: CARGO_TERM_COLOR: always jobs: publish: runs-on: ubuntu-latest permissions: contents: read id-token: write steps: - uses: actions/checkout@v6 - name: Setup Node uses: actions/setup-node@v6 with: node-version: '24.15.0' registry-url: 'https://registry.npmjs.org' - name: Install wasm-pack run: | curl -L https://github.com/wasm-bindgen/wasm-pack/releases/download/v0.14.0/wasm-pack-v0.14.0-x86_64-unknown-linux-musl.tar.gz | tar xz sudo mv wasm-pack-*/wasm-pack /usr/local/bin/ - name: Install wasm-bindgen-cli run: | curl -L https://github.com/wasm-bindgen/wasm-bindgen/releases/download/0.2.118/wasm-bindgen-0.2.118-x86_64-unknown-linux-musl.tar.gz | tar xz sudo mv wasm-bindgen-*/wasm-bindgen /usr/local/bin/ sudo mv wasm-bindgen-*/wasm-bindgen-test-runner /usr/local/bin/ - name: Install wasm-opt run: | curl -L https://github.com/WebAssembly/binaryen/releases/download/version_129/binaryen-version_129-x86_64-linux.tar.gz | tar xz sudo mv binaryen-*/bin/wasm-opt /usr/local/bin/ - name: Rust tests run: cargo test - name: WASM tests (Node) run: wasm-pack test --node --features wasm,talc - name: Build package run: make - name: Publish to npm run: | cd pkg npm publish