Add functions for multithreaded validation to the Rust side. #2475
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build crate and npm package | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- "**" | |
pull_request: | |
branches: | |
- "**" | |
jobs: | |
build_crate: | |
name: Crate & NPM | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up rusts | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt, clippy | |
- name: fmt | |
run: cargo fmt -- --files-with-diff --check | |
- name: clippy | |
run: cargo clippy | |
- name: tests | |
run: cargo test && cargo test --release | |
- name: build | |
run: cargo build --release | |
- name: Upload crate artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: crate | |
path: ./target/package/*-*.crate | |
- name: install wasm-pack | |
run: cargo install wasm-pack --locked | |
- name: wasm-pack build and pack | |
run: cd wasm && wasm-pack build && wasm-pack pack | |
- name: Upload npm pkg artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: npm-pkg | |
path: ./wasm/pkg/*-*.tgz | |
- name: publish to crates.io if tagged | |
if: startsWith(github.event.ref, 'refs/tags') | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.cargo_registry_token }} | |
run: | | |
cargo install cargo-workspaces --locked | |
cargo ws publish --publish-as-is | |
# this has not been tested, so probably needs to be debugged next time a tag is created | |
- name: publish to npmjs.com if tagged | |
if: startsWith(github.event.ref, 'refs/tags') | |
uses: JS-DevTools/npm-publish@v3 | |
with: | |
token: ${{ secrets.node_auth_token }} | |
package: wasm/pkg/package.json |