From 1fe24c8bc39675f8bcb66073b8df1c052e02cb23 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Mon, 19 Dec 2022 13:38:11 +0000 Subject: [PATCH] Test on Python 3.12 --- .github/workflows/python_ci.yml | 5 +++-- .github/workflows/python_ci_linux.yml | 5 +++-- .github/workflows/python_ci_macos.yml | 5 +++-- pyproject.toml | 3 ++- repo_helper.yml | 3 ++- setup.cfg | 1 + tox.ini | 11 +++++++++-- 7 files changed, 23 insertions(+), 10 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 0ac53c01..abbed83c 100644 --- a/.github/workflows/python_ci.yml +++ b/.github/workflows/python_ci.yml @@ -22,7 +22,7 @@ jobs: runs-on: "windows-2019" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -33,7 +33,8 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311,build", experimental: False} + - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 33049649..35f7b2e4 100644 --- a/.github/workflows/python_ci_linux.yml +++ b/.github/workflows/python_ci_linux.yml @@ -23,7 +23,7 @@ jobs: runs-on: "ubuntu-20.04" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,7 +34,8 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311,build", experimental: False} + - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36,build", experimental: False} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 9cb7d79a..35d27f14 100644 --- a/.github/workflows/python_ci_macos.yml +++ b/.github/workflows/python_ci_macos.yml @@ -22,7 +22,7 @@ jobs: runs-on: "macos-latest" continue-on-error: ${{ matrix.config.experimental }} env: - USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,pypy-3.7,pypy-3.8,pypy-3.9' + USING_COVERAGE: '3.6,3.7,3.8,3.9,3.10,3.11,3.12.0-alpha.3,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -33,7 +33,8 @@ jobs: - {python-version: "3.8", testenvs: "py38,build", experimental: False} - {python-version: "3.9", testenvs: "py39,build", experimental: False} - {python-version: "3.10", testenvs: "py310,build", experimental: False} - - {python-version: "3.11", testenvs: "py311-dev,build", experimental: True} + - {python-version: "3.11", testenvs: "py311,build", experimental: False} + - {python-version: "3.12.0-alpha.3", testenvs: "py312-dev,build", experimental: True} - {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: True} - {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: True} - {python-version: "pypy-3.9", testenvs: "pypy39", experimental: True} diff --git a/pyproject.toml b/pyproject.toml index 55df0499..b8d350f3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,6 +21,7 @@ classifiers = [ "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries :: Python Modules", @@ -143,7 +144,7 @@ base-classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules", "Typing :: Typed", ] -python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10",] +python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11",] python-implementations = [ "CPython", "PyPy",] platforms = [ "Windows", "macOS", "Linux",] license-key = "MIT" diff --git a/repo_helper.yml b/repo_helper.yml index 2197f6db..5b2732a0 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -24,7 +24,8 @@ python_versions: 3.8: 3.9: "3.10": - "3.11-dev": + "3.11": + "3.12-dev": experimental: true pypy36: pypy37: diff --git a/setup.cfg b/setup.cfg index c5d96bff..4871a6e9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -33,6 +33,7 @@ classifiers = Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: PyPy Topic :: Software Development :: Libraries :: Python Modules diff --git a/tox.ini b/tox.ini index fdf57f82..dc8400ea 100644 --- a/tox.ini +++ b/tox.ini @@ -23,7 +23,8 @@ envlist = py38 py39 py310 - py311-dev + py311 + py312-dev pypy36 pypy37 pypy38 @@ -45,7 +46,8 @@ test = py38 py39 py310 - py311-dev + py311 + py312-dev pypy36 pypy37 pypy38 @@ -53,6 +55,11 @@ test = qa = mypy, lint cov = py36, coverage +[testenv:py312-dev] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + [testenv:docs] setenv = SHOW_TODOS = 1 passenv = SPHINX_BUILDER