name: PhotonVision Sphinx Documentation Checks

on:
  push:
    branches: [ master ]
    paths:
      - 'docs/**'
      - '.github/**'
  pull_request:
    branches: [ master ]
    paths:
      - 'docs/**'
      - '.github/**'
  merge_group:

env:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
  build:
    runs-on: ubuntu-22.04

    steps:
    - uses: actions/checkout@v4

    - uses: actions/setup-python@v4
      with:
        python-version: '3.11'

    - name: Install and upgrade pip
      run: python -m pip install --upgrade pip

    - name: Install graphviz
      run: |
        sudo apt-get update
        sudo apt-get -y install graphviz

    - name: Install Python dependencies
      working-directory: docs
      run: |
        pip install sphinx sphinx_rtd_theme sphinx-tabs sphinxext-opengraph doc8
        pip install -r requirements.txt

    - name: Check links
      working-directory: docs
      run: make linkcheck
      continue-on-error: true

    - name: Check lint
      working-directory: docs
      run: make lint

    - name: Compile HTML
      working-directory: docs
      run: make html
