diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0215aac..f4946db 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,13 +20,14 @@ jobs: - ["ubuntu", "ubuntu-20.04"] config: # [Python version, tox env] + - ["3.9", "release-check"] - ["3.9", "lint"] - ["3.7", "py37"] - ["3.8", "py38"] - ["3.9", "py39"] - ["3.10", "py310"] - ["3.11", "py311"] - - ["3.12.0-rc.1", "py312"] + - ["3.12", "py312"] - ["3.9", "coverage"] runs-on: ${{ matrix.os[1] }} diff --git a/.meta.toml b/.meta.toml index 082d761..fc24c97 100644 --- a/.meta.toml +++ b/.meta.toml @@ -2,13 +2,13 @@ # https://github.com/zopefoundation/meta/tree/master/config/zope-product [meta] template = "zope-product" -commit-id = "28abbfda" +commit-id = "6f8d8c51" [python] with-pypy = false with-sphinx-doctests = false with-windows = false -with-future-python = true +with-future-python = false with-macos = false [tox] diff --git a/CHANGES.rst b/CHANGES.rst index f0b1c60..beb3dd9 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -4,7 +4,7 @@ Changelog 4.6 (unreleased) ---------------- -- Nothing changed yet. +- Add official support for Python 3.12. 4.5 (2023-09-18) diff --git a/setup.py b/setup.py index 845adc3..77d91ee 100644 --- a/setup.py +++ b/setup.py @@ -56,6 +56,7 @@ "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", "Topic :: Text Processing :: Markup", ], diff --git a/tox.ini b/tox.ini index 8792e6a..6bef684 100644 --- a/tox.ini +++ b/tox.ini @@ -3,6 +3,7 @@ [tox] minversion = 3.18 envlist = + release-check lint py37 py38 @@ -25,6 +26,23 @@ commands_pre = commands = {envdir}/bin/test {posargs:-cv} +[testenv:release-check] +description = ensure that the distribution is ready to release +basepython = python3 +skip_install = true +deps = + twine + build + check-manifest + check-python-versions >= 0.20.0 + wheel +commands_pre = +commands = + check-manifest + check-python-versions + python -m build --sdist --no-isolation + twine check dist/* + [testenv:lint] basepython = python3 commands_pre = @@ -34,11 +52,7 @@ allowlist_externals = commands = isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py flake8 {toxinidir}/src {toxinidir}/setup.py - check-manifest - check-python-versions deps = - check-manifest - check-python-versions flake8 isort # Useful flake8 plugins that are Python and Plone specific: