name: Publish on: push: tags: [ "v*" ] env: CARGO_TERM_COLOR: always jobs: publish: runs-on: ubuntu-latest permissions: contents: read steps: - uses: actions/checkout@v6 - 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/ - name: Install wasm-opt run: | curl -L https://github.com/WebAssembly/binaryen/releases/latest/download/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 - name: Build package run: make - name: Publish to npm run: | echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > pkg/.npmrc cd pkg npm publish --access public env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }}