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@df4cb1c069e1874edd31b4311f1884172cec0e10 - name: Setup Node uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4 with: node-version: '24.16.0' registry-url: 'https://registry.npmjs.org' - name: Install wasm-pack run: | curl -L https://github.com/wasm-bindgen/wasm-pack/releases/download/v${{ vars.WASM_PACK_VERSION }}/wasm-pack-v${{ vars.WASM_PACK_VERSION }}-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/${{ vars.WASM_BINDGEN_VERSION }}/wasm-bindgen-${{ vars.WASM_BINDGEN_VERSION }}-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_${{ vars.WASM_OPT_VERSION }}/binaryen-version_${{ vars.WASM_OPT_VERSION }}-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