name: PR on: [pull_request] jobs: pr: strategy: fail-fast: false matrix: step: ['lint', 'test', 'build', 'deno'] runs-on: ubuntu-latest env: YARN_ENABLE_SCRIPTS: false CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 'lts/*' - uses: denoland/setup-deno@v1 with: # Deno v2 throws errors with specific types therefore we set it to the last version before v2 deno-version: v1.46.3 - name: ${{ matrix.step }} if: always() run: | deno --version yarn install --immutable yarn ${{ matrix.step }} # 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/ # path and no string spread into exports (the January 2026 fault). - name: check built manifests if: matrix.step == 'build' run: python3 scripts/check-built-manifests.py .