diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 37a1436..1ba6f76 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,9 +70,48 @@ jobs: needs: - lint - test + - docs-check runs-on: ubuntu-latest steps: - name: Decide whether the needed jobs succeeded or failed uses: re-actors/alls-green@release/v1 with: + allowed-skips: docs-check jobs: ${{ toJSON(needs) }} + + docs-check: + name: Docs build check + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + + - uses: dorny/paths-filter@v4 + id: filter + with: + filters: | + docs: + - docs/** + - mkdocs.yml + - src/** + - .github/workflows/docs.yml + + - name: Install uv + if: steps.filter.outputs.docs == 'true' + uses: astral-sh/setup-uv@v8.0.0 + with: + enable-cache: true + + - name: Set up Python + if: steps.filter.outputs.docs == 'true' + uses: actions/setup-python@v6 + with: + python-version-file: .python-version + + - name: Install dependencies + if: steps.filter.outputs.docs == 'true' + run: uv sync --group dev + + - name: Build docs (dry run) + if: steps.filter.outputs.docs == 'true' + run: uv run mkdocs build --clean --strict