name: docs-preview
on:
  - pull_request

env:
  UV_NO_SYNC: true

jobs:
  deploy-docs:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
        with:
          lfs: true
      - name: Set up Python
        uses: actions/setup-python@v6
        with:
          python-version: "3.12"
      - name: Setup uv
        uses: astral-sh/setup-uv@v7
        with:
          enable-cache: true
          cache-dependency-glob: |
            pyproject.toml
            uv.lock
      - name: Install dependencies
        run: |
          uv sync --locked --no-dev --extra doc
      - name: Build documentation
        run: uv run mkdocs build -f ./mkdocs.yml

      - name: Deploy to Netlify
        uses: nwtgck/actions-netlify@v1.1
        id: deployment
        with:
          publish-dir: "./site"
          production-branch: master
          github-token: ${{ secrets.GITHUB_TOKEN }}
          deploy-message: "#${{ github.event.number }}: ${{ github.event.pull_request.title }}"
          enable-pull-request-comment: true
          enable-commit-comment: false
          overwrites-pull-request-comment: true
          alias: docs-preview-${{ github.event.number }}
        env:
          NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
          NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
        timeout-minutes: 1
