name: CI on: push: branches: [main] pull_request: branches: [main] # Cancel in-progress runs for the same PR / branch concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: ci: name: Type-check & Test runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v7 - name: Set up Node.js uses: actions/setup-node@v6 with: node-version: '20' cache: 'npm' - name: Install dependencies run: npm ci - name: TypeScript – type check run: npx tsc --noEmit - name: Run tests run: npx vitest run - name: Build run: npm run build env: # Minimal env vars so Next.js build doesn't bail early on env validation IMMICH_API_URL: http://localhost:2283 IMMICH_API_KEY: placeholder-key-for-ci AUTH_SECRET: placeholder-secret-for-ci-builds-must-be-32-chars-long