Skip to content

Commit

Permalink
Update Twisted and Python support matrix
Browse files Browse the repository at this point in the history
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.

Twisted 22.10.0 is our new lower bound for twisted/twisted#11635.

Python 3.11 and 3.12 now exist.
  • Loading branch information
twm committed Nov 3, 2023
1 parent a0a277f commit ae2da9e
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 12 deletions.
33 changes: 28 additions & 5 deletions .github/workflows/ci.yaml
Expand Up @@ -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

Expand All @@ -63,15 +63,35 @@ 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", "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.11"
twisted-version: "latest"
experimental: false

- 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
Expand Down Expand Up @@ -101,8 +121,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)
Expand Down
1 change: 1 addition & 0 deletions changelog.d/364.feature.rst
@@ -0,0 +1 @@
Python 3.11 is now supported.
1 change: 1 addition & 0 deletions changelog.d/374.feature.rst
@@ -0,0 +1 @@
PyPy 3.10 is now supported.
3 changes: 3 additions & 0 deletions changelog.d/374.removal.rst
@@ -0,0 +1,3 @@
Support for PyPy 3.8, which has reached end of support, is deprecated. This is the last release with support for PyPy 3.8.

The minimum supported Twisted version has increased to 22.10.0. Older versions are no longer tested in CI.
6 changes: 3 additions & 3 deletions setup.py
Expand Up @@ -7,11 +7,11 @@
"Operating System :: OS Independent",
"Framework :: Twisted",
"Programming Language :: Python",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
Expand All @@ -32,7 +32,7 @@
"incremental",
"requests >= 2.1.0",
"hyperlink >= 21.0.0",
"Twisted[tls] >= 18.7.0",
"Twisted[tls] >= 22.10.0",
"attrs",
],
extras_require={
Expand Down
8 changes: 4 additions & 4 deletions 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

Expand All @@ -11,7 +11,7 @@ extras = dev
deps =
coverage

twisted_lowest: Twisted==18.7.0
twisted_lowest: Twisted==22.10.0
twisted_latest: Twisted
twisted_trunk: https://github.com/twisted/twisted/archive/trunk.zip
setenv =
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit ae2da9e

Please sign in to comment.