name: Check Documentation on: pull_request: branches: - '*' paths: - '.github/workflows/check_doc.yaml' - 'docs/**' jobs: docs: name: lint, build and verify runs-on: ubuntu-latest steps: - name: Check out code uses: actions/checkout@v5 with: fetch-depth: 0 - name: Install markdownlint run: | npm install --global markdownlint@0.29.0 markdownlint-cli@0.35.0 - name: Lint run: ./docs/scripts/lint.sh docs - name: Setup python uses: actions/setup-python@v6 with: python-version: '3.12' cache: 'pip' cache-dependency-path: "./docs/requirements.txt" - name: Build documentation working-directory: ./docs run: | pip install -r requirements.txt mkdocs build --strict - name: Setup ruby uses: ruby/setup-ruby@v1 with: ruby-version: '3.4' - name: Install html-proofer run: | gem install nokogiri --version 1.18.6 --no-document -- --use-system-libraries gem install html-proofer --version 5.0.10 --no-document -- --use-system-libraries env: NOKOGIRI_USE_SYSTEM_LIBRARIES: "true" # Comes from https://github.com/gjtorikian/html-proofer?tab=readme-ov-file#caching-with-continuous-integration - name: Cache HTMLProofer uses: actions/cache@v4 with: path: tmp/.htmlproofer key: ${{ runner.os }}-htmlproofer - name: Verify run: ./docs/scripts/verify.sh docs/site