Add compatibility with docutils 0.22 #363
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: Tests | |
| on: | |
| pull_request: | |
| push: | |
| branches: [ main ] | |
| # Allow job to be triggered manually. | |
| workflow_dispatch: | |
| # Cancel in-progress jobs when pushing to the same branch. | |
| concurrency: | |
| cancel-in-progress: true | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| jobs: | |
| tests: | |
| runs-on: "ubuntu-latest" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: [ | |
| "3.9", | |
| "3.14", | |
| ] | |
| docutils-version: [ | |
| "0.22.*", | |
| ] | |
| sphinx-version: [ | |
| "5.*", | |
| "6.*", | |
| "7.*", | |
| "8.*", | |
| ] | |
| exclude: | |
| # Don't validate Sphinx 8 on Python 3.9. | |
| - python-version: "3.9" | |
| docutils-version: "0.22.*" | |
| sphinx-version: "8.*" | |
| include: | |
| # Validate on docutils 0.20 and 0.21. | |
| - python-version: "3.14" | |
| docutils-version: "0.20.*" | |
| sphinx-version: "8.*" | |
| - python-version: "3.14" | |
| docutils-version: "0.21.*" | |
| sphinx-version: "8.*" | |
| env: | |
| PYTHON: ${{ matrix.python-version }} | |
| SPHINX: ${{ matrix.sphinx-version }} | |
| UV_SYSTEM_PYTHON: true | |
| name: > | |
| Sphinx ${{ matrix.sphinx-version }} | |
| Python ${{ matrix.python-version }} | |
| steps: | |
| - name: Acquire sources | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Set up uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| cache-dependency-glob: | | |
| pyproject.toml | |
| cache-suffix: ${{ matrix.python-version }} | |
| enable-cache: true | |
| version: "latest" | |
| - name: Setup project | |
| run: | | |
| # Install package in editable mode. | |
| uv pip install --editable='.[develop,docs,test]' | |
| # Install specific Sphinx and docutils versions, according to test matrix slots. | |
| uv pip install 'sphinx==${{ matrix.sphinx-version }}' | |
| uv pip install 'docutils==${{ matrix.docutils-version }}' | |
| # Display Sphinx version. | |
| sphinx-build --version | |
| - name: Run linter and software tests | |
| run: | | |
| poe check | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| with: | |
| files: ./coverage.xml | |
| flags: unittests | |
| env_vars: PYTHON,SPHINX | |
| name: codecov-umbrella | |
| fail_ci_if_error: true |