diff options
author | Michael Howitz <mh@gocept.com> | 2021-11-17 08:24:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-17 07:24:13 +0000 |
commit | dd02362d8030d9fe3069fea1e84a1428516d6818 (patch) | |
tree | 96101b68b6cdd7692ff96ca7ff0713d536dc4047 | |
parent | 4b8519c9133ec4ccd9f93e4d0a7a45b07a1c652e (diff) | |
download | zope-proxy-dd02362d8030d9fe3069fea1e84a1428516d6818.tar.gz |
Add support for Python 3.10. (#48)
* Fix badge.
-rw-r--r-- | .github/workflows/tests.yml | 58 | ||||
-rwxr-xr-x | .manylinux-install.sh | 9 | ||||
-rw-r--r-- | .meta.toml | 2 | ||||
-rw-r--r-- | CHANGES.rst | 2 | ||||
-rw-r--r-- | README.rst | 4 | ||||
-rw-r--r-- | appveyor.yml | 2 | ||||
-rw-r--r-- | setup.py | 4 | ||||
-rw-r--r-- | tox.ini | 8 |
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 @@ -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) @@ -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%" @@ -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', ], }, @@ -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 |