TypeScript 97.5%
SQL 1.4%
Python 0.8%
1name: CI2on:3 push:4 branches: [main]5 pull_request:6jobs:7 verify:8 runs-on: ubuntu-latest9 services:10 postgres:11 image: postgres:17-alpine12 env: { POSTGRES_USER: fetcha, POSTGRES_PASSWORD: fetcha, POSTGRES_DB: fetcha }13 ports: ["5432:5432"]14 options: --health-cmd pg_isready --health-interval 5s --health-timeout 5s --health-retries 1015 redis:16 image: redis:7-alpine17 ports: ["6379:6379"]18 env:19 DATABASE_URL: postgres://fetcha:fetcha@localhost:5432/fetcha20 REDIS_URL: redis://localhost:637921 AUTH_SECRET: ci-secret-0123456789abcdef0123456789abcdef22 INTERNAL_SERVICE_TOKEN: ci-internal23 NEXT_PUBLIC_SITE_URL: http://localhost:822024 NEXT_TELEMETRY_DISABLED: "1"25 steps:26 - uses: actions/checkout@v427 - uses: pnpm/action-setup@v428 with: { version: 11 }29 - uses: actions/setup-node@v430 with: { node-version: 22, cache: pnpm }31 - run: pnpm install --frozen-lockfile32 - name: Lint33 run: pnpm --filter @fetcha/web lint34 - name: Typecheck35 run: pnpm typecheck36 - name: Migrate37 run: pnpm db:migrate && pnpm db:seed38 - name: Unit tests39 run: pnpm test40 - name: Security audit (high+)41 run: pnpm audit --audit-level high || true42 - name: Build43 run: pnpm build44