fix: eliminate all no-explicit-any warnings, upgrade rule to error #32
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 | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - "src/**" | |
| - "tests/**" | |
| - "supabase/**" | |
| - "package.json" | |
| - "pnpm-lock.yaml" | |
| - "tsconfig*.json" | |
| - "vite.config.ts" | |
| - "playwright.config.ts" | |
| - ".github/workflows/ci.yml" | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - "src/**" | |
| - "tests/**" | |
| - "supabase/**" | |
| - "package.json" | |
| - "pnpm-lock.yaml" | |
| - "tsconfig*.json" | |
| - "vite.config.ts" | |
| - "playwright.config.ts" | |
| - ".github/workflows/ci.yml" | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: supabase/setup-cli@v1 | |
| with: | |
| version: latest | |
| - uses: pnpm/action-setup@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile | |
| - name: Cache Playwright browsers | |
| id: playwright-cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: playwright-${{ hashFiles('pnpm-lock.yaml') }} | |
| - name: Install Playwright browsers | |
| if: steps.playwright-cache.outputs.cache-hit != 'true' | |
| run: pnpm exec playwright install chromium --with-deps | |
| # Start Supabase in background — runs during checks, ready by E2E time | |
| - name: Start Supabase (background) | |
| run: supabase start --exclude realtime,edge-runtime,logflare,vector,studio,imgproxy,supavisor & | |
| # --- Checks (Supabase starts in parallel) --- | |
| - run: pnpm run type-check | |
| - run: pnpm run lint | |
| - run: pnpm test | |
| - run: pnpm run build | |
| # --- E2E --- | |
| - name: Install Playwright system deps | |
| if: steps.playwright-cache.outputs.cache-hit == 'true' | |
| run: pnpm exec playwright install-deps chromium | |
| - name: Wait for Supabase | |
| run: | | |
| for i in $(seq 1 30); do | |
| supabase status &>/dev/null && break | |
| echo "Waiting for Supabase CLI... ($i)" | |
| sleep 2 | |
| done | |
| supabase status | |
| echo "Waiting for Auth service to be ready..." | |
| for i in $(seq 1 30); do | |
| curl -sf http://localhost:54321/auth/v1/health && break | |
| echo "Auth not ready yet... ($i)" | |
| sleep 2 | |
| done | |
| - run: pnpm exec tsx tests/e2e/seed.ts | |
| - run: pnpm exec playwright test | |
| env: | |
| CI: true | |
| - uses: actions/upload-artifact@v4 | |
| if: failure() | |
| with: | |
| name: playwright-report | |
| path: playwright-report/ |