Bump actions/checkout from 4 to 7 #186
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI - Build & Test | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| branches: | |
| - main | |
| - develop | |
| permissions: | |
| contents: read | |
| jobs: | |
| # Build & Test on ubuntu-latest | |
| test: | |
| name: CI - Build & Test | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v3 | |
| with: | |
| version: 10.27.0 | |
| - name: Setup Node.js 24 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "24" | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Verify toolchain binaries | |
| run: pnpm exec tsc --version && pnpm exec tsup --version && pnpm exec turbo --version | |
| # Cache Turborepo build outputs | |
| - name: Setup Turborepo cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| .turbo | |
| **/node_modules/.cache/turbo | |
| # Key on lockfile + turbo config so cache is reused across commits that don't touch deps | |
| key: ${{ runner.os }}-turbo-${{ hashFiles('pnpm-lock.yaml', 'turbo.json') }}-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-turbo-${{ hashFiles('pnpm-lock.yaml', 'turbo.json') }}- | |
| ${{ runner.os }}-turbo- | |
| - name: Run CI (Lint, Type-Check, Build, Test) | |
| run: pnpm run ci:check | |
| - name: Dependency audit (high severity and above) | |
| run: pnpm audit --audit-level=high | |
| # Validate Cloudflare configuration | |
| validate-cloudflare: | |
| name: Validate Cloudflare Config | |
| runs-on: ubuntu-latest | |
| needs: test | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v3 | |
| with: | |
| version: 10.27.0 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "24" | |
| cache: "pnpm" | |
| - name: Install Dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Validate Cloudflare Configuration | |
| id: cf-validate | |
| run: pnpm cf:validate -- --force | |
| # Soft-fail: CF validation can have network flakiness in CI; we annotate rather than block | |
| continue-on-error: true | |
| - name: Warn on Cloudflare validation failure | |
| if: steps.cf-validate.outcome == 'failure' | |
| run: echo "::warning::Cloudflare config validation failed — run 'pnpm cf:validate' locally to investigate" |