name: Backend-tester

on:
  push:
    branches: [master]
    paths:
      - "app/**"
      - "*.sql"
      - "tests/**"
      - "handicap_engine.py"
      - "Dockerfile.test"
      - "scripts/run_backend_tests.sh"
      - ".forgejo/workflows/backend-tests.yml"

jobs:
  test:
    runs-on: docker
    steps:
      - uses: actions/checkout@v4

      # Første kjøring på denne runneren -- vet ikke ennå om den har
      # Docker-sokkel-tilgang eller ser samme teeoff_default-nettverk som
      # produksjonsverten (se ADR-058: bevisst utsatt til dette kunne
      # verifiseres empirisk med en ekte push, ikke antatt på forhånd).
      # Denne diagnostikk-blokken kjører ALLTID, selv om selve testen
      # feiler under, slik at et miljø-avvik er synlig i loggen fremfor
      # å bare se en kryptisk feil fra run_backend_tests.sh.
      - name: Diagnostikk (Docker-tilgang, nettverk, teeoff_db-container)
        run: |
          echo "--- docker version ---"
          docker version || echo "INGEN docker-tilgang fra runneren"
          echo "--- teeoff_default-nettverk ---"
          docker network inspect teeoff_default >/dev/null 2>&1 \
            && echo "teeoff_default finnes" \
            || echo "teeoff_default finnes IKKE fra denne runneren"
          echo "--- teeoff_db-container ---"
          docker exec teeoff_db true 2>&1 \
            && echo "teeoff_db nåbar via docker exec" \
            || echo "teeoff_db IKKE nåbar via docker exec"

      - name: Kjør backend-testsuiten
        run: ./scripts/run_backend_tests.sh
