Skip to content

Update supported Python versions, add 3.11, 3.12, PyPy 3.9 and PyPy 3.10 and remove 3.7 #254

Update supported Python versions, add 3.11, 3.12, PyPy 3.9 and PyPy 3.10 and remove 3.7

Update supported Python versions, add 3.11, 3.12, PyPy 3.9 and PyPy 3.10 and remove 3.7 #254

Workflow file for this run

name: Build and test
on:
# Only on pushes to main or one of the release branches we build on push
push:
branches:
- main
- "[0-9].[0-9]+-branch"
tags:
# Build pull requests
pull_request:
jobs:
test:
strategy:
matrix:
py:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "pypy-3.8"
- "pypy-3.9"
- "pypy-3.10"
# Pre-release
os:
- "ubuntu-latest"
- "windows-latest"
- "macos-latest"
architecture:
- x64
- x86
include:
- py: "pypy-3.8"
toxenv: "pypy38"
- py: "pypy-3.9"
toxenv: "pypy39"
- py: "pypy-3.10"
toxenv: "pypy310"
exclude:
# Linux and macOS don't have x86 python
- os: "ubuntu-latest"
architecture: x86
- os: "macos-latest"
architecture: x86
# Don't run all PyPy versions except latest on
# Windows/macOS. They are expensive to run.
- os: "windows-latest"
py: "pypy-3.8"
- os: "macos-latest"
py: "pypy-3.8"
- os: "windows-latest"
py: "pypy-3.9"
- os: "macos-latest"
py: "pypy-3.9"
name: "Python: ${{ matrix.py }}-${{ matrix.architecture }} on ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py }}
architecture: ${{ matrix.architecture }}
- run: pip install tox
- name: Running tox with specific toxenv
if: ${{ matrix.toxenv != '' }}
env:
TOXENV: ${{ matrix.toxenv }}
run: tox
- name: Running tox for current python version
if: ${{ matrix.toxenv == '' }}
run: tox -e py
coverage:
runs-on: ubuntu-latest
name: Validate coverage
steps:
- uses: actions/checkout@v4
- name: Setup python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
architecture: x64
- run: pip install tox
- run: tox -e py310,coverage
docs:
runs-on: ubuntu-latest
name: Build the documentation
steps:
- uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: "3.10"
architecture: x64
- run: pip install tox
- run: tox -e docs
lint:
runs-on: ubuntu-latest
name: Lint the package
steps:
- uses: actions/checkout@v4
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: "3.10"
architecture: x64
- run: pip install tox
- run: tox -e lint