matrix:
# emulated wheels on linux take too much time, split wheels into multiple runs
python:
- - "cp37-* cp38-*"
- - "cp39-* cp310-*"
- - "cp311-* cp312-*"
+ - "cp37-* cp38-* cp39-*"
+ - "cp310-* cp311-*"
+ - "cp312-* cp313-*"
wheel_mode:
- compiled
os:
- name: Set up Python for twine and pure-python wheel
uses: actions/setup-python@v5
with:
- python-version: "3.11"
+ python-version: "3.12"
- name: Build pure-python wheel
if: ${{ matrix.wheel_mode == 'pure-python' && runner.os == 'Linux' }}
- "3.10"
- "3.11"
- "3.12"
- - "pypy-3.9"
+ - "3.13.0-alpha - 3.13"
+ - "pypy-3.10"
build-type:
- "cext"
- "nocext"
include:
# autocommit tests fail on the ci for some reason
- - python-version: "pypy-3.9"
+ - python-version: "pypy-3.10"
pytest-args: "-k 'not test_autocommit_on and not test_turn_autocommit_off_via_default_iso_level and not test_autocommit_isolation_level'"
- os: "ubuntu-latest"
pytest-args: "--dbdriver pysqlite --dbdriver aiosqlite"
- os: "macos-13"
architecture: x86
# pypy does not have cext or x86
- - python-version: "pypy-3.9"
+ - python-version: "pypy-3.10"
build-type: "cext"
- os: "windows-latest"
- python-version: "pypy-3.9"
+ python-version: "pypy-3.10"
architecture: x86
fail-fast: false
- name: Run tests
run: tox -e github-${{ matrix.build-type }} -- -q --nomemory --notimingintensive ${{ matrix.pytest-args }}
- continue-on-error: ${{ matrix.python-version == 'pypy-3.9' }}
+ continue-on-error: ${{ matrix.python-version == 'pypy-3.10' }}
run-test-arm64:
# Hopefully something native can be used at some point https://github.blog/changelog/2023-10-30-accelerate-your-ci-cd-with-arm-based-hosted-runners-in-github-actions/
- cp39-cp39
- cp310-cp310
- cp311-cp311
+ - cp312-cp312
+ - cp313-cp313
build-type:
- "cext"
- "nocext"
- "3.9"
- "3.10"
- "3.11"
+ - "3.12"
+ - "3.13.0-alpha - 3.13"
tox-env:
- mypy
- - lint
- pep484
- exclude:
- # run lint only on 3.11
- - tox-env: lint
- python-version: "3.8"
- - tox-env: lint
- python-version: "3.9"
+ include:
+ # run lint only on 3.12
- tox-env: lint
- python-version: "3.10"
+ python-version: "3.12"
+ os: "ubuntu-latest"
+ exclude:
# run pep484 only on 3.10+
- tox-env: pep484
python-version: "3.8"