name: CI on: push: branches: [master, dev] pull_request: branches: [master] permissions: contents: read jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'yarn' - name: Install dependencies run: yarn install --immutable - name: Build JavaScript run: yarn build:js # The package.json each build/ directory holds is what npm receives: # every entry point must name a file that is there, with no ./build/ or # ./cjs/cjs/ paths and no string spread into exports (what broke the # January 2026 releases and 7.5.19). - name: Check built manifests run: python3 scripts/check-built-manifests.py . wasm-util wasm-bridge wasm-crypto-asmjs wasm-crypto-wasm wasm-crypto-init wasm-crypto - name: Lint run: yarn lint test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20' cache: 'yarn' - name: Setup Rust uses: dtolnay/rust-toolchain@stable - name: Install dependencies run: yarn install --immutable - name: Run Rust tests run: yarn test:wasm-crypto:rust