name: "Documentation"

on:
    pull_request:
    push:
        branches:
            - '2.x'
            - '3.x'

permissions:
  contents: read

jobs:
    build:
        name: "Build"

        runs-on: ubuntu-latest

        steps:
            -   name: "Checkout code"
                uses: actions/checkout@v4

            -   name: "Set-up PHP"
                uses: shivammathur/setup-php@v2
                with:
                    php-version: 8.2
                    coverage: none
                    tools: "composer:v2"

            -   name: Get composer cache directory
                id: composercache
                working-directory: doc/_build
                run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

            -   name: Cache dependencies
                uses: actions/cache@v4
                with:
                    path: ${{ steps.composercache.outputs.dir }}
                    key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
                    restore-keys: ${{ runner.os }}-composer-

            -   name: "Install dependencies"
                working-directory: doc/_build
                run: composer install --prefer-dist --no-progress

            -   name: "Build the docs"
                working-directory: doc/_build
                run: php build.php --disable-cache

    doctor-rst:
        name: "DOCtor-RST"

        runs-on: ubuntu-latest

        steps:
            - name: "Checkout code"
              uses: actions/checkout@v4

            - name: "Run DOCtor-RST"
              uses: docker://oskarstark/doctor-rst
              with:
                  args: --short
              env:
                  DOCS_DIR: 'doc/'
