From d831cb3c411948b6a787495ed397b17bb7518f84 Mon Sep 17 00:00:00 2001 From: Dominic Davis-Foster Date: Tue, 21 Nov 2023 10:54:04 +0000 Subject: [PATCH] Test on newer Python versions --- .github/workflows/python_ci.yml | 9 +++++---- .github/workflows/python_ci_linux.yml | 9 +++++---- .github/workflows/python_ci_macos.yml | 9 +++++---- pyproject.toml | 3 ++- repo_helper.yml | 3 ++- tox.ini | 26 +++++++++++++++++++++++--- 6 files changed, 42 insertions(+), 17 deletions(-) diff --git a/.github/workflows/python_ci.yml b/.github/workflows/python_ci.yml index 514b847..a844e35 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,3.12.0-rc.1,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,3.13.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,10 +34,11 @@ jobs: - {python-version: "3.9", testenvs: "py39-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-click{7.1,8.0,8.1},build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-click{7.1,8.0,8.1},build", experimental: True} + - {python-version: "3.12", testenvs: "py312-click{7.1,8.0,8.1},build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-click{7.1,8.0,8.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-click{7.1,8.0,8.1}", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-click{7.1,8.0,8.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-click{7.1,8.0,8.1},build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37-click{7.1,8.0,8.1},build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-click{7.1,8.0,8.1},build", experimental: True} steps: diff --git a/.github/workflows/python_ci_linux.yml b/.github/workflows/python_ci_linux.yml index 51f9739..0dab130 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,3.12.0-rc.1,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,3.13.0-alpha.1,pypy-3.6,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -35,10 +35,11 @@ jobs: - {python-version: "3.9", testenvs: "py39-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-click{7.1,8.0,8.1},build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-click{7.1,8.0,8.1},build", experimental: True} + - {python-version: "3.12", testenvs: "py312-click{7.1,8.0,8.1},build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-click{7.1,8.0,8.1},build", experimental: True} - {python-version: "pypy-3.6", testenvs: "pypy36-click{7.1,8.0,8.1},build", experimental: False} - - {python-version: "pypy-3.7", testenvs: "pypy37-click{7.1,8.0,8.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-click{7.1,8.0,8.1},build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37-click{7.1,8.0,8.1},build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-click{7.1,8.0,8.1},build", experimental: True} steps: diff --git a/.github/workflows/python_ci_macos.yml b/.github/workflows/python_ci_macos.yml index 12d4048..44de1da 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,3.12.0-rc.1,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,3.13.0-alpha.1,pypy-3.7,pypy-3.8,pypy-3.9' strategy: fail-fast: False @@ -34,9 +34,10 @@ jobs: - {python-version: "3.9", testenvs: "py39-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "3.10", testenvs: "py310-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "3.11", testenvs: "py311-click{7.1,8.0,8.1},build", experimental: False} - - {python-version: "3.12.0-rc.1", testenvs: "py312-dev-click{7.1,8.0,8.1},build", experimental: True} - - {python-version: "pypy-3.7", testenvs: "pypy37-click{7.1,8.0,8.1},build", experimental: True} - - {python-version: "pypy-3.8", testenvs: "pypy38-click{7.1,8.0,8.1},build", experimental: True} + - {python-version: "3.12", testenvs: "py312-click{7.1,8.0,8.1},build", experimental: False} + - {python-version: "3.13.0-alpha.1", testenvs: "py313-dev-click{7.1,8.0,8.1},build", experimental: True} + - {python-version: "pypy-3.7", testenvs: "pypy37-click{7.1,8.0,8.1},build", experimental: False} + - {python-version: "pypy-3.8", testenvs: "pypy38-click{7.1,8.0,8.1},build", experimental: False} - {python-version: "pypy-3.9", testenvs: "pypy39-click{7.1,8.0,8.1},build", experimental: True} steps: diff --git a/pyproject.toml b/pyproject.toml index 4835eab..443ed78 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,6 +23,7 @@ classifiers = [ "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", "Topic :: Software Development :: Libraries :: Python Modules", @@ -154,7 +155,7 @@ base-classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules", "Typing :: Typed", ] -python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11",] +python-versions = [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12",] python-implementations = [ "CPython", "PyPy",] platforms = [ "Windows", "macOS", "Linux",] license-key = "MIT" diff --git a/repo_helper.yml b/repo_helper.yml index 9279242..2ec39b7 100644 --- a/repo_helper.yml +++ b/repo_helper.yml @@ -26,7 +26,8 @@ python_versions: - 3.9 - "3.10" - "3.11" - - 3.12-dev + - "3.12" + - 3.13-dev - pypy36 - pypy37 - pypy38 diff --git a/tox.ini b/tox.ini index 7541137..3da49fd 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,9 @@ # * tox # * envlists # * testenv:.package +# * testenv:py313-dev # * testenv:py312-dev +# * testenv:py312 # * testenv:docs # * testenv:build # * testenv:lint @@ -24,7 +26,8 @@ envlist = py39-click{7.1,8.0,8.1} py310-click{7.1,8.0,8.1} py311-click{7.1,8.0,8.1} - py312-dev-click{7.1,8.0,8.1} + py312-click{7.1,8.0,8.1} + py313-dev-click{7.1,8.0,8.1} pypy36-click{7.1,8.0,8.1} pypy37-click{7.1,8.0,8.1} pypy38-click{7.1,8.0,8.1} @@ -47,7 +50,8 @@ test = py39-click{7.1,8.0,8.1} py310-click{7.1,8.0,8.1} py311-click{7.1,8.0,8.1} - py312-dev-click{7.1,8.0,8.1} + py312-click{7.1,8.0,8.1} + py313-dev-click{7.1,8.0,8.1} pypy36-click{7.1,8.0,8.1} pypy37-click{7.1,8.0,8.1} pypy38-click{7.1,8.0,8.1} @@ -60,7 +64,12 @@ setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 -[testenv:py312-dev] +[testenv:py313-dev] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + +[testenv:py312] setenv = PYTHONDEVMODE=1 PIP_DISABLE_PIP_VERSION_CHECK=1 @@ -203,6 +212,7 @@ plugins = coverage_pyver_pragma [coverage:report] fail_under = 90 +show_missing = True exclude_lines = raise AssertionError raise NotImplementedError @@ -217,6 +227,16 @@ ignore = W002 toplevel = consolekit package = consolekit +[testenv:py312-click{7.1,8.0,8.1}] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + +[testenv:py313-dev-click{7.1,8.0,8.1}] +setenv = + PYTHONDEVMODE=1 + PIP_DISABLE_PIP_VERSION_CHECK=1 + [testenv:py312-dev-click{7.1,8.0,8.1}] setenv = PYTHONDEVMODE=1