name: CI

on:
  push:
    branches: [main]

jobs:
  build-and-start:
    # Use exact labels from your runner (e.g. "ubuntu:latest" if that's what you see)
    runs-on: [ubuntu-latest, docker]
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: "npm"

      - name: Install dependencies
        run: npm ci

      - name: Build
        run: npm run build

      - name: Verify app starts
        run: |
          timeout 20 npm run start:prod || [ $? -eq 124 ]
        env:
          PORT: 4000
