summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Howitz <mh@gocept.com>2022-04-20 09:03:00 +0200
committerMichael Howitz <mh@gocept.com>2022-04-22 15:57:15 +0200
commit7ff3c054f483768dab1ebb56b59a1f7db7830864 (patch)
treea06a1bbdc768b7be16c1ae1d3afaed4ff7372700
parent2b33bec1afe96b67cf3fb87ad65ede5826056459 (diff)
downloadzope-security-7ff3c054f483768dab1ebb56b59a1f7db7830864.tar.gz
Add support for Python 3.11
-rw-r--r--.github/workflows/tests.yml11
-rw-r--r--.gitignore1
-rwxr-xr-x.manylinux-install.sh1
-rw-r--r--.meta.toml4
-rw-r--r--CHANGES.rst2
-rw-r--r--appveyor.yml4
-rw-r--r--tox.ini18
7 files changed, 32 insertions, 9 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 3f0e223..fdf012e 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -104,6 +104,7 @@ jobs:
- "3.8"
- "3.9"
- "3.10"
+ - "3.11.0-alpha.7"
os: [ubuntu-20.04, macos-latest]
exclude:
- os: macos-latest
@@ -152,7 +153,7 @@ jobs:
python setup.py bdist_wheel
# Also install it, so that we get dependencies in the (pip) cache.
pip install -U 'faulthandler; python_version == "2.7" and platform_python_implementation == "CPython"'
- pip install .[test]
+ pip install --pre .[test]
- name: Check zope.security build
run: |
@@ -172,6 +173,7 @@ jobs:
&& startsWith(github.ref, 'refs/tags')
&& startsWith(runner.os, 'Mac')
&& !startsWith(matrix.python-version, 'pypy')
+ && !startsWith(matrix.python-version, '3.11.0-alpha.7')
env:
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
run: |
@@ -193,6 +195,7 @@ jobs:
- "3.8"
- "3.9"
- "3.10"
+ - "3.11.0-alpha.7"
os: [ubuntu-20.04, macos-latest]
exclude:
- os: macos-latest
@@ -236,13 +239,15 @@ jobs:
- name: Install zope.security
run: |
pip install -U wheel setuptools
- pip install -U coverage
+ # coverage has a wheel on PyPI for a future python version which is
+ # not ABI compatible with the current one, so build it from sdist:
+ pip install -U --no-binary :all: coverage
pip install -U 'faulthandler; python_version == "2.7" and platform_python_implementation == "CPython"'
# Unzip into src/ so that testrunner can find the .so files
# when we ask it to load tests from that directory. This
# might also save some build time?
unzip -n dist/zope.security-*whl -d src
- pip install -U -e .[test]
+ pip install --pre -U -e .[test]
- name: Run tests with C extensions
if: ${{ !startsWith(matrix.python-version, 'pypy') }}
run: |
diff --git a/.gitignore b/.gitignore
index 20b2128..6e5e8ef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,4 +28,5 @@ lib64
log/
parts/
pyvenv.cfg
+testing.log
var/
diff --git a/.manylinux-install.sh b/.manylinux-install.sh
index 5ff565e..2062106 100755
--- a/.manylinux-install.sh
+++ b/.manylinux-install.sh
@@ -31,6 +31,7 @@ for PYBIN in /opt/python/*/bin; do
if \
[[ "${PYBIN}" == *"cp27"* ]] || \
[[ "${PYBIN}" == *"cp35"* ]] || \
+ [[ "${PYBIN}" == *"cp311"* ]] || \
[[ "${PYBIN}" == *"cp36"* ]] || \
[[ "${PYBIN}" == *"cp37"* ]] || \
[[ "${PYBIN}" == *"cp38"* ]] || \
diff --git a/.meta.toml b/.meta.toml
index 04ee500..58cd5cb 100644
--- a/.meta.toml
+++ b/.meta.toml
@@ -2,13 +2,13 @@
# https://github.com/zopefoundation/meta/tree/master/config/c-code
[meta]
template = "c-code"
-commit-id = "15807bd13de45b79c7da560a377fe3f22cbc4338"
+commit-id = "dbaca5f3c7785b7bca563dabc5f440544069a8f9"
[python]
with-appveyor = true
with-windows = false
with-pypy = true
-with-future-python = false
+with-future-python = true
with-legacy-python = true
with-docs = true
with-sphinx-doctests = true
diff --git a/CHANGES.rst b/CHANGES.rst
index 884b2b5..eb7f9ac 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -14,6 +14,8 @@
See `issue 83
<https://github.com/zopefoundation/zope.security/issues/83>`_.
+- Add support for Python 3.11 (as of 3.11.0a7).
+
5.2 (2022-03-10)
================
diff --git a/appveyor.yml b/appveyor.yml
index 493bf43..3afca08 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -23,6 +23,10 @@ environment:
- python: 39-x64
- python: 310
- python: 310-x64
+ # `multibuild` cannot install non-final versions as they are not on
+ # ftp.python.org, so we skip Python 3.11 until its final release:
+ # - python: 311
+ # - python: 311-x64
install:
- "SET PYTHONVERSION=%PYTHON%"
diff --git a/tox.ini b/tox.ini
index 7c625bd..8931aaa 100644
--- a/tox.ini
+++ b/tox.ini
@@ -11,6 +11,7 @@ envlist =
py38,py38-pure
py39,py39-pure
py310,py310-pure
+ py311,py311-pure
pypy
pypy3
docs
@@ -19,6 +20,7 @@ envlist =
[testenv]
usedevelop = true
+pip_pre = true
deps =
setenv =
pure: PURE_PYTHON=1
@@ -49,15 +51,23 @@ commands =
[testenv:lint]
basepython = python3
skip_install = true
+commands =
+ check-manifest
+ check-python-versions
deps =
- flake8
check-manifest
check-python-versions >= 0.19.1
wheel
+ flake8
+ isort
+
+[testenv:isort-apply]
+basepython = python3
+commands_pre =
+deps =
+ isort
commands =
- flake8 src setup.py
- check-manifest
- check-python-versions
+ isort {toxinidir}/src {toxinidir}/setup.py []
[testenv:docs]
basepython = python3