summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Howitz <mh@gocept.com>2021-11-17 08:24:13 +0100
committerGitHub <noreply@github.com>2021-11-17 07:24:13 +0000
commitdd02362d8030d9fe3069fea1e84a1428516d6818 (patch)
tree96101b68b6cdd7692ff96ca7ff0713d536dc4047
parent4b8519c9133ec4ccd9f93e4d0a7a45b07a1c652e (diff)
downloadzope-proxy-dd02362d8030d9fe3069fea1e84a1428516d6818.tar.gz
Add support for Python 3.10. (#48)
* Fix badge.
-rw-r--r--.github/workflows/tests.yml58
-rwxr-xr-x.manylinux-install.sh9
-rw-r--r--.meta.toml2
-rw-r--r--CHANGES.rst2
-rw-r--r--README.rst4
-rw-r--r--appveyor.yml2
-rw-r--r--setup.py4
-rw-r--r--tox.ini8
8 files changed, 48 insertions, 41 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index b66af7a..65a0412 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -92,24 +92,26 @@ jobs:
# with `test`, and `docs` must use a subset.
runs-on: ${{ matrix.os }}
strategy:
+ fail-fast: false
matrix:
python-version:
- - 2.7
- - 3.5
- - pypy-2.7
- - pypy-3.6
- - 3.6
- - 3.7
- - 3.8
- - 3.9
+ - "2.7"
+ - "3.5"
+ - "pypy-2.7"
+ - "pypy-3.7"
+ - "3.6"
+ - "3.7"
+ - "3.8"
+ - "3.9"
+ - "3.10"
os: [ubuntu-20.04, macos-latest]
exclude:
- os: macos-latest
- python-version: pypy-2.7
+ python-version: "pypy-2.7"
- os: macos-latest
- python-version: pypy-3.6
+ python-version: "pypy-3.6"
- os: macos-latest
- python-version: 3.5
+ python-version: "3.5"
steps:
- name: checkout
@@ -177,24 +179,26 @@ jobs:
needs: build-package
runs-on: ${{ matrix.os }}
strategy:
+ fail-fast: false
matrix:
python-version:
- - 2.7
- - 3.5
- - pypy-2.7
- - pypy-3.6
- - 3.6
- - 3.7
- - 3.8
- - 3.9
+ - "2.7"
+ - "3.5"
+ - "pypy-2.7"
+ - "pypy-3.7"
+ - "3.6"
+ - "3.7"
+ - "3.8"
+ - "3.9"
+ - "3.10"
os: [ubuntu-20.04, macos-latest]
exclude:
- os: macos-latest
- python-version: pypy-2.7
+ python-version: "pypy-2.7"
- os: macos-latest
- python-version: pypy-3.6
+ python-version: "pypy-3.6"
- os: macos-latest
- python-version: 3.5
+ python-version: "3.5"
steps:
- name: checkout
@@ -229,7 +233,7 @@ jobs:
path: dist/
- name: Install zope.proxy
run: |
- pip install -U wheel
+ pip install -U wheel setuptools
pip install -U coverage coverage-python-version
pip install -U 'faulthandler; python_version == "2.7" and platform_python_implementation == "CPython"'
# Unzip into src/ so that testrunner can find the .so files
@@ -270,7 +274,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- python-version: [3.9]
+ python-version: ["3.9"]
os: [ubuntu-20.04]
steps:
@@ -309,8 +313,6 @@ jobs:
pip install -U wheel
pip install -U coverage
pip install -U "`ls dist/zope.proxy-*.whl`[docs]"
- # Until repoze.sphinx.autointerface supports Sphinx 4.x we cannot use it:
- pip install -U "Sphinx < 4"
- name: Build docs
env:
ZOPE_INTERFACE_STRICT_IRO: 1
@@ -323,7 +325,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- python-version: [3.9]
+ python-version: ["3.9"]
os: [ubuntu-20.04]
steps:
@@ -375,7 +377,7 @@ jobs:
# We use a regular Python matrix entry to share as much code as possible.
strategy:
matrix:
- python-version: [3.9]
+ python-version: ["3.9"]
image: [manylinux2010_x86_64, manylinux2010_i686, manylinux2014_aarch64]
steps:
diff --git a/.manylinux-install.sh b/.manylinux-install.sh
index 57220ed..c730ec9 100755
--- a/.manylinux-install.sh
+++ b/.manylinux-install.sh
@@ -23,14 +23,19 @@ fi
ls -ld /cache
ls -ld /cache/pip
+# We need some libraries because we build wheels from scratch:
+yum -y install libffi-devel
+
# Compile wheels
for PYBIN in /opt/python/*/bin; do
- if [[ "${PYBIN}" == *"cp27"* ]] || \
+ if \
+ [[ "${PYBIN}" == *"cp27"* ]] || \
[[ "${PYBIN}" == *"cp35"* ]] || \
[[ "${PYBIN}" == *"cp36"* ]] || \
[[ "${PYBIN}" == *"cp37"* ]] || \
[[ "${PYBIN}" == *"cp38"* ]] || \
- [[ "${PYBIN}" == *"cp39"* ]]; then
+ [[ "${PYBIN}" == *"cp39"* ]] || \
+ [[ "${PYBIN}" == *"cp310"* ]] ; then
"${PYBIN}/pip" install -e /io/
"${PYBIN}/pip" wheel /io/ -w wheelhouse/
if [ `uname -m` == 'aarch64' ]; then
diff --git a/.meta.toml b/.meta.toml
index efa741c..c22c096 100644
--- a/.meta.toml
+++ b/.meta.toml
@@ -2,7 +2,7 @@
# https://github.com/zopefoundation/meta/tree/master/config/c-code
[meta]
template = "c-code"
-commit-id = "bf824746f106a5f6314af285f3d5642e3ce490ce"
+commit-id = "802ac12d0664dfaa42f1dcfe920f40a7aa3d0e14"
[python]
with-appveyor = true
diff --git a/CHANGES.rst b/CHANGES.rst
index 408c5d2..7296d20 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -5,7 +5,7 @@
4.4.1 (unreleased)
==================
-- Nothing changed yet.
+- Add support for Python 3.10.
4.4.0 (2021-07-22)
diff --git a/README.rst b/README.rst
index 1dc68dc..30db9ef 100644
--- a/README.rst
+++ b/README.rst
@@ -6,8 +6,8 @@
:target: https://pypi.python.org/pypi/zope.proxy/
:alt: Latest Version
-.. image:: https://travis-ci.com/zopefoundation/zope.proxy.svg?branch=master
- :target: https://travis-ci.com/zopefoundation/zope.proxy
+.. image:: https://github.com/zopefoundation/zope.proxy/actions/workflows/tests.yml/badge.svg
+ :target: https://github.com/zopefoundation/zope.proxy/actions/workflows/tests.yml
.. image:: https://readthedocs.org/projects/zopeproxy/badge/?version=latest
:target: http://zopeproxy.readthedocs.org/en/latest/
diff --git a/appveyor.yml b/appveyor.yml
index 4ebbe68..720d642 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -21,6 +21,8 @@ environment:
- python: 38-x64
- python: 39
- python: 39-x64
+ - python: 310
+ - python: 310-x64
install:
- "SET PYTHONVERSION=%PYTHON%"
diff --git a/setup.py b/setup.py
index dc1336d..53bff73 100644
--- a/setup.py
+++ b/setup.py
@@ -105,6 +105,7 @@ setup(name='zope.proxy',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
+ 'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Framework :: Zope :: 3',
@@ -132,8 +133,7 @@ setup(name='zope.proxy',
'zope.testrunner',
],
'docs': [
- # Need < 4 until repoze.sphinx.autointerface supports Sphinx 4:
- 'Sphinx < 4',
+ 'Sphinx',
'repoze.sphinx.autointerface',
],
},
diff --git a/tox.ini b/tox.ini
index e01039b..16d3641 100644
--- a/tox.ini
+++ b/tox.ini
@@ -10,6 +10,7 @@ envlist =
py37,py37-pure
py38,py38-pure
py39,py39-pure
+ py310,py310-pure
pypy
pypy3
docs
@@ -18,8 +19,6 @@ envlist =
[testenv]
usedevelop = true
deps =
- # Until repoze.sphinx.autointerface supports Sphinx 4.x we cannot use it:
- Sphinx < 4
setenv =
pure: PURE_PYTHON=1
!pure-!pypy-!pypy3: PURE_PYTHON=0
@@ -50,7 +49,8 @@ skip_install = true
deps =
flake8
check-manifest
- check-python-versions
+ check-python-versions >= 0.19.1
+ wheel
commands =
flake8 src setup.py
check-manifest
@@ -59,8 +59,6 @@ commands =
[testenv:docs]
basepython = python3
skip_install = false
-# Until repoze.sphinx.autointerface supports Sphinx 4.x we cannot use it:
-deps = Sphinx < 4
commands_pre =
commands =
sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html