Skip to content

CI

CI #38

Workflow file for this run

name: CI
on:
push:
branches: [main]
tags:
- "v*"
env:
CARGO_TERM_COLOR: always
jobs:
check:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- name: Cargo check
run: cargo check --all-features --verbose --manifest-path js/wasm/Cargo.toml
clippy:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
components: clippy
- name: Cargo clippy
run: cargo clippy --all-features --verbose --manifest-path js/wasm/Cargo.toml
test_oca-js_wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- name: Install wasm-bindgen-cli
run: cargo install -f wasm-bindgen-cli --version 0.2.110
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20.x"
- name: Setup yarn
run: npm install -g yarn
- name: Build wasm
working-directory: js/wasm
run: bash build-pkg.sh
- name: Install dependencies
working-directory: js/example
run: yarn install --network-concurrency 1
- name: Run tests
working-directory: js/example
run: yarn test
publish_oca-js_wasm:
runs-on: ubuntu-latest
if: github.ref_type == 'tag'
needs:
- test_oca-js_wasm
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: wasm32-unknown-unknown
- name: Install wasm-bindgen-cli
run: cargo install wasm-bindgen-cli --version 0.2.92
- name: Build wasm
working-directory: js/wasm
run: bash build-pkg.sh
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
# (Optional but safe) ensure npm is new enough even if Node changes
- name: Upgrade npm
run: npm i -g npm@^11.5.1
- name: Install dependencies
working-directory: js/wasm/pkg
run: npm install --omit=dev
- name: Publish to npm (OIDC)
working-directory: js/wasm/pkg
run: npm publish