version: 2

sphinx:
  builder: html
  configuration: docs/source/conf.py
  fail_on_warning: true

build:
  os: ubuntu-22.04
  tools:
    python: "3.11"
  apt_packages:
    - graphviz
  jobs:
    post_checkout:
      # Cancel building pull requests when there aren't changed in the docs directory or YAML file.
      # You can add any other files or directories that you'd like here as well,
      # like your docs requirements file, or other files that will change your docs build.
      #
      # If there are no changes (git diff exits with 0) we force the command to return with 183.
      # This is a special exit code on Read the Docs that will cancel the build immediately.
      - |
        if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/master -- docs/ .readthedocs.yaml;
        then
          exit 183;
        fi

python:
  install:
    - requirements: docs/requirements.txt
