name: Documentation building
on:
  schedule:
    - cron: '0 0 * * 2'
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
    paths:
      - .github/workflows/docs.yml
      - "enaml/**"
      - "examples/**"
      - "docs/**"
      - setup.py
      - pyproject.toml

jobs:
  docs:
    name: Docs building
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - name: Get history and tags for SCM versioning to work
        run: |
          git fetch --prune --unshallow
          git fetch --depth=1 origin +refs/tags/*:refs/tags/*
      - name: Set up Python
        uses: actions/setup-python@v6
        with:
          python-version: '3.11'
          cache: 'pip'
          cache-dependency-path: 'docs/requirements.txt'
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install wheel
          pip install -r docs/requirements.txt
      - name: Install project
        run: |
          pip install .
      - name: Install graphviz
        uses: ts-graphviz/setup-graphviz@v2
      - name: Build documentation
        run: |
          cd docs
          mkdir docs_output;
          sphinx-build source docs_output -W -b html;
