name: CI

on:
  pull_request:

jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    permissions: {}

    steps:
      - uses: actions/checkout@v7
      - uses: actions/setup-node@v7
        with:
          node-version: latest
      - run: npm ci
      - run: npm test

  docker-smoke:
    name: Docker smoke test
    needs: test
    runs-on: ubuntu-latest
    permissions: {}

    steps:
      - uses: actions/checkout@v7

      - name: Build image
        run: docker build -t fonto-docs-smoke .

      - name: Smoke test
        run: |
          docker run -d --name fonto-docs-smoke -p 8080:8080 fonto-docs-smoke
          sleep 2
          curl --retry 5 --retry-delay 1 --retry-connrefused -sf http://localhost:8080/health
          docker stop fonto-docs-smoke
