name: Test Sphinx Extensions on: push: paths: - ".github/workflows/test.yml" - "pep_sphinx_extensions/**" - "tox.ini" pull_request: paths: - ".github/workflows/test.yml" - "pep_sphinx_extensions/**" - "tox.ini" workflow_dispatch: permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true env: FORCE_COLOR: 1 jobs: test: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: python-version: - "3.9" - "3.10" - "3.11" - "3.12" - "3.13" os: - "windows-latest" - "macos-latest" - "ubuntu-latest" # Python 3.9 is on macos-13 but not macos-latest (macos-14-arm64) # https://github.com/actions/setup-python/issues/696#issuecomment-1637587760 exclude: - { python-version: "3.9", os: "macos-latest" } include: - { python-version: "3.9", os: "macos-13" } steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: pip allow-prereleases: true - name: Install dependencies run: | python -m pip install -U pip python -m pip install -U wheel python -m pip install -U tox - name: Run tests run: | tox -e py -- -v --cov-report term - name: Upload coverage uses: codecov/codecov-action@v4 with: flags: ${{ matrix.os }} name: ${{ matrix.os }} Python ${{ matrix.python-version }}