name: CI on: push: pull_request: permissions: contents: read concurrency: group: ci-${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: validate: runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 # setup-node asks pnpm for its store path when cache: pnpm is enabled, # so pnpm must already be installed and available on PATH. - name: Install pnpm uses: pnpm/action-setup@v4 with: version: 10.15.0 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: 18.20.8 cache: pnpm cache-dependency-path: pnpm-lock.yaml - name: Install dependencies run: pnpm install --frozen-lockfile - name: Test run: pnpm test - name: Typecheck run: pnpm typecheck - name: Build run: pnpm build