name: CI on: pull_request: types: [opened, synchronize] branches: [main] paths: ['src/**', 'tests/**'] workflow_dispatch: jobs: ci: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: pnpm/action-setup@v4 with: version: 9 - uses: actions/setup-node@v4 with: node-version: 20 registry-url: https://registry.npmjs.org/ cache: pnpm - name: Install dependencies run: pnpm i --frozen-lockfile - name: Build run: pnpm run build - name: Lint run: | pnpm run format:check pnpm run eslint - name: Test # NOTE: see jest.config.ts `collectCoverageFrom` run: pnpm run coverage