docs: refresh stale tool counts across docs/ (#42) #147
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 | |
| # Quality gate for the "checks → merge → Vercel deploys" flow. | |
| # Deployment itself is handled by Vercel's native Git integration | |
| # (preview on PR, production on merge to main). This workflow only GATES. | |
| on: | |
| push: | |
| branches: [main] # re-check main after every merge | |
| pull_request: # gate every PR before merge | |
| # A newer push to the same ref cancels the older, in-flight run. | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| ci: | |
| name: Lint · Type-check · Test · Build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| # pnpm BEFORE Node so the pnpm cache works. | |
| # No `version:` here on purpose — action-setup@v4 reads the pinned | |
| # `packageManager` (pnpm@8.15.7) from package.json, so CI, the lockfile | |
| # (lockfileVersion 6.0), and Vercel's build all use the SAME pnpm. | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: "pnpm" | |
| # --frozen-lockfile = fail if pnpm-lock.yaml is out of date | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Lint | |
| run: pnpm run lint | |
| - name: Type-check | |
| run: pnpm run type-check | |
| - name: Test | |
| run: pnpm test | |
| - name: Tool inventory drift | |
| run: pnpm run docs:check | |
| - name: Build | |
| run: pnpm run build | |
| - name: Verify standalone output | |
| run: test -f .next/standalone/server.js | |
| # Advisory only for now; flip continue-on-error to false once the | |
| # current advisories are triaged, to make CVEs block the merge. | |
| - name: Audit dependencies (advisory) | |
| run: pnpm audit --audit-level=high | |
| continue-on-error: true |