diff options
author | Michael Howitz <mh@gocept.com> | 2022-08-02 14:22:53 +0200 |
---|---|---|
committer | Michael Howitz <mh@gocept.com> | 2022-08-03 08:44:34 +0200 |
commit | a07c82b7813de1e000863e1d01058e417bc4b33d (patch) | |
tree | f4d23c5d1f93706a029880baea4c0550a4478479 | |
parent | fc36cf4f860bcc7ac474c80aa40ecfa5f342c666 (diff) | |
download | zope-interface-a07c82b7813de1e000863e1d01058e417bc4b33d.tar.gz |
Update to Python 3.11.0b4.
-rw-r--r-- | .github/workflows/tests.yml | 40 | ||||
-rwxr-xr-x | .manylinux-install.sh | 28 | ||||
-rw-r--r-- | .meta.toml | 2 | ||||
-rw-r--r-- | CHANGES.rst | 2 | ||||
-rw-r--r-- | tox.ini | 2 |
5 files changed, 61 insertions, 13 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 78ef211..3c3f9a0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -104,7 +104,7 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11.0-beta.3" + - "3.11.0-beta.4" os: [ubuntu-20.04, macos-latest] exclude: - os: macos-latest @@ -142,18 +142,19 @@ jobs: - name: Install Build Dependencies (PyPy2) if: > - startsWith(matrix.python-version, 'pypy-2.7') + startsWith(matrix.python-version, 'pypy-2.7') run: | pip install -U pip pip install -U setuptools wheel twine "cffi != 1.15.1" - name: Install Build Dependencies (other Python versions) if: > - !startsWith(matrix.python-version, 'pypy-2.7') + !startsWith(matrix.python-version, 'pypy-2.7') run: | pip install -U pip pip install -U setuptools wheel twine cffi - - name: Build zope.interface + - name: Build zope.interface (3.11.0-beta.4) + if: ${{ startsWith(matrix.python-version, '3.11.0-beta.4') }} run: | # Next, build the wheel *in place*. This helps ccache, and also lets us cache the configure # output (pip install uses a random temporary directory, making this difficult). @@ -162,6 +163,33 @@ jobs: # 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 --pre .[test] + - name: Build zope.interface (Python 3.10 on MacOS) + if: > + startsWith(runner.os, 'Mac') + && startsWith(matrix.python-version, '3.10') + env: + _PYTHON_HOST_PLATFORM: macosx-11-x86_64 + run: | + # Next, build the wheel *in place*. This helps ccache, and also lets us cache the configure + # output (pip install uses a random temporary directory, making this difficult). + python setup.py build_ext -i + 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] + + - name: Build zope.interface (all other versions) + if: > + !startsWith(runner.os, 'Mac') + || !startsWith(matrix.python-version, '3.10') + run: | + # Next, build the wheel *in place*. This helps ccache, and also lets us cache the configure + # output (pip install uses a random temporary directory, making this difficult). + python setup.py build_ext -i + 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] - name: Check zope.interface build run: | @@ -181,7 +209,7 @@ jobs: && startsWith(github.ref, 'refs/tags') && startsWith(runner.os, 'Mac') && !startsWith(matrix.python-version, 'pypy') - && !startsWith(matrix.python-version, '3.11.0-beta.3') + && !startsWith(matrix.python-version, '3.11.0-beta.4') env: TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} run: | @@ -203,7 +231,7 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11.0-beta.3" + - "3.11.0-beta.4" os: [ubuntu-20.04, macos-latest] exclude: - os: macos-latest diff --git a/.manylinux-install.sh b/.manylinux-install.sh index 484eb00..6cb729c 100755 --- a/.manylinux-install.sh +++ b/.manylinux-install.sh @@ -26,6 +26,20 @@ ls -ld /cache/pip # We need some libraries because we build wheels from scratch: yum -y install libffi-devel +tox_env_map() { + case $1 in + *"cp27"*) echo 'py27';; + *"cp35"*) echo 'py35';; + *"cp311"*) echo 'py311';; + *"cp36"*) echo 'py36';; + *"cp37"*) echo 'py37';; + *"cp38"*) echo 'py38';; + *"cp39"*) echo 'py39';; + *"cp310"*) echo 'py310';; + *) echo 'py';; + esac +} + # Compile wheels for PYBIN in /opt/python/*/bin; do if \ @@ -37,12 +51,18 @@ for PYBIN in /opt/python/*/bin; do [[ "${PYBIN}" == *"cp38"* ]] || \ [[ "${PYBIN}" == *"cp39"* ]] || \ [[ "${PYBIN}" == *"cp310"* ]] ; then - "${PYBIN}/pip" install --pre -e /io/ - "${PYBIN}/pip" wheel /io/ --pre -w wheelhouse/ + if [[ "${PYBIN}" == *"cp311"* ]] ; then + "${PYBIN}/pip" install --pre -e /io/ + "${PYBIN}/pip" wheel /io/ --pre -w wheelhouse/ + else + "${PYBIN}/pip" install -e /io/ + "${PYBIN}/pip" wheel /io/ -w wheelhouse/ + fi if [ `uname -m` == 'aarch64' ]; then cd /io/ - "${PYBIN}/pip" install tox - "${PYBIN}/tox" -e py + ${PYBIN}/pip install tox + TOXENV=$(tox_env_map "${PYBIN}") + ${PYBIN}/tox -e ${TOXENV} cd .. fi rm -rf /io/build /io/*.egg-info @@ -2,7 +2,7 @@ # https://github.com/zopefoundation/meta/tree/master/config/c-code [meta] template = "c-code" -commit-id = "cde9741a5a0d9d04cee25cb617ee1590afebb17d" +commit-id = "fe41b5a5937ad36d26b62be91d884b7530ec012f" [python] with-appveyor = true diff --git a/CHANGES.rst b/CHANGES.rst index 179b89d..7737325 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,7 +5,7 @@ 5.5.0 (unreleased) ================== -- Add support for Python 3.10 and 3.11 (as of 3.11.0b3). +- Add support for Python 3.10 and 3.11 (as of 3.11.0b4). - Add missing Trove classifier showing support for Python 3.9. @@ -19,7 +19,7 @@ envlist = [testenv] usedevelop = true -pip_pre = true +pip_pre = py311: true deps = # repoze.sphinx.autointerface does not yet support Sphinx >= 5: Sphinx < 5 |