# Prüft jeden Push: Typen, Tests, Produktionsbuild. # # Die Tests brauchen eine echte PostgreSQL-Instanz — sie prüfen Abfragen und # Fortschrittsberechnungen gegen die Datenbank, nicht gegen Attrappen. Einen # TMDB-Schlüssel brauchen sie nicht: die TMDB-Antworten sind nachgebildet. name: CI on: push: branches: [main] pull_request: jobs: pruefen: runs-on: ubuntu-latest services: postgres: image: postgres:17-alpine env: POSTGRES_USER: flimmer POSTGRES_PASSWORD: flimmer-ci POSTGRES_DB: flimmer options: >- --health-cmd "pg_isready -U flimmer -d flimmer" --health-interval 5s --health-timeout 5s --health-retries 12 ports: - 5432:5432 env: DATABASE_URL: postgresql://flimmer:flimmer-ci@localhost:5432/flimmer?schema=public AUTH_SECRET: ci-geheimnis-0123456789abcdef0123456789abcdef APP_URL: http://localhost:3000 TZ: Europe/Berlin steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 24 cache: npm - name: Abhängigkeiten installieren run: npm ci --no-audit --no-fund - name: Prisma-Client erzeugen run: npx prisma generate - name: Schema einspielen run: npx prisma migrate deploy - name: Typen prüfen run: npm run typecheck - name: Tests run: npm test - name: Produktionsbuild run: npx next build