From 6b3a162a32be34a936357c0fc1997f156243f2ef Mon Sep 17 00:00:00 2001 From: Tom Most Date: Thu, 2 Nov 2023 21:52:27 -0700 Subject: [PATCH] Update Python support matrix Twisted 23.10.0 dropped support for Python 3.7 and added support for Python 3.12. Twisted 23.8.0 added support for Python 3.11 and drops support for PyPy <3.9. Python 3.11 and 3.12 now exist. --- .github/workflows/ci.yaml | 29 ++++++++++++++++++++++++----- changelog.d/374.feature.rst | 1 + changelog.d/374.removal.rst | 1 + tox.ini | 6 +++--- 4 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 changelog.d/374.feature.rst create mode 100644 changelog.d/374.removal.rst diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 77d4cd00..c4fa6969 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -51,7 +51,7 @@ jobs: ${{ runner.os }}-pip-docs- ${{ runner.os }}-pip- - - run: python -m pip install tox + - run: python -m pip install 'tox<4' - run: tox -q -e docs @@ -63,15 +63,31 @@ jobs: continue-on-error: ${{ matrix.experimental }} strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "pypy-3.8", "pypy-3.9"] + # Python versions common to lowest and latest + python-version: ["3.8", "3.9", "3.10", "3.11", "pypy-3.9"] twisted-version: ["lowest", "latest"] experimental: [false] include: - - python-version: "3.8" - twisted-version: "trunk" - experimental: true + # Pythons too old for latest + - python-version: "3.7" + twisted-version: "lowest" + experimental: false + + - python-version: "pypy-3.8" + twisted-version: "lowest" + experimental: false + + # Pythons too new for lowest + - python-version: "3.12" + twisted-version: "latest" + experimental: false + + - python-version: "pypy-3.10" + twisted-version: "latest" + experimental: false + # Experimental trunk build - python-version: "3.9" twisted-version: "trunk" experimental: true @@ -101,8 +117,11 @@ jobs: "3.8": "py38", "3.9": "py39", "3.10": "py310", + "3.11": "py311", + "3.12": "py312", "pypy-3.8": "pypy3", "pypy-3.9": "pypy3", + "pypy-3.10": "pypy3", } factor = table["${{ matrix.python-version }}"] print("::set-output name=value::" + factor) diff --git a/changelog.d/374.feature.rst b/changelog.d/374.feature.rst new file mode 100644 index 00000000..573b64eb --- /dev/null +++ b/changelog.d/374.feature.rst @@ -0,0 +1 @@ +PyPy 3.10 is now supported. diff --git a/changelog.d/374.removal.rst b/changelog.d/374.removal.rst new file mode 100644 index 00000000..7fe86eb4 --- /dev/null +++ b/changelog.d/374.removal.rst @@ -0,0 +1 @@ +Support for PyPy 3.8, which has reached end of support, is deprecated. This is the last release with support for PyPy 3.8. diff --git a/tox.ini b/tox.ini index af9caddc..9d01bada 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] envlist = py37-twisted_lowest, - {pypy3,py37,py38,py39,py310}-twisted_latest, - {pypy3,py37,py38,py39,py310}-twisted_trunk, + {pypy3,py38,py39,py310,py311,py312}-twisted_latest, + {pypy3,py38,py39,py310,py311,py312}-twisted_trunk, twine, check-manifest, flake8, docs, coverage-report isolated_build = true @@ -60,7 +60,7 @@ commands = sphinx-build -b html . html [testenv:coverage-report] -depends = pypy3,py37,py38,py39 +depends = pypy3,py37,py38,py39,py310,py311,py312 commands = coverage combine coverage report