Skip to content

Make CI testing more efficient #164

Make CI testing more efficient

Make CI testing more efficient #164

Workflow file for this run

name: Run Tests
on:
push:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
fail-fast: false
max-parallel: 8
matrix:
os:
- ubuntu-latest
python-version:
["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t", pypy3.11]
include:
# Windows: Test lowest and highest supported Python versions
- os: windows-latest
python-version: "3.10"
- os: windows-latest
python-version: "3.14"
steps:
- uses: actions/checkout@v6
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Add .local/bin to Windows PATH
if: runner.os == 'Windows'
shell: bash
run: echo "$USERPROFILE/.local/bin" >> $GITHUB_PATH
- name: Install tox
run: uv tool install --python-preference only-managed --python 3.14 tox --with tox-uv --with tox-gh
- name: Install Python
if: matrix.python-version != '3.14'
run: uv python install --python-preference only-managed ${{ matrix.env }}
- name: Setup test suite
run: tox run -vv --notest --skip-missing-interpreters false
env:
TOX_GH_MAJOR_MINOR: ${{ matrix.python-version }}
- name: Run test suite
run: tox run --skip-pkg-install
env:
TOX_GH_MAJOR_MINOR: ${{ matrix.python-version }}