From 2231265da5ee98a7d53375386c55a4b4476a73cb Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Fri, 8 Jul 2022 08:27:09 +0200 Subject: Fix GHA Python 3.10 build on MacOS + PyPy-2.7 (#87) Built with https://github.com/zopefoundation/meta/pull/150. --- .github/workflows/tests.yml | 36 +++++++++++++++++++++++++++++++----- .manylinux-install.sh | 4 ++-- .meta.toml | 2 +- tox.ini | 4 ++-- 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index dd5f5b1..116f04a 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.1" + - "3.11.0-beta.3" os: [ubuntu-20.04, macos-latest] exclude: - os: macos-latest @@ -140,12 +140,38 @@ jobs: restore-keys: | ${{ runner.os }}-pip- - - name: Install Build Dependencies + - name: Install Build Dependencies (PyPy2) + if: > + 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') run: | pip install -U pip pip install -U setuptools wheel twine cffi - - name: Build zope.security + - name: Build zope.security (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 --pre .[test] + + - name: Build zope.security (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). @@ -173,7 +199,7 @@ jobs: && startsWith(github.ref, 'refs/tags') && startsWith(runner.os, 'Mac') && !startsWith(matrix.python-version, 'pypy') - && !startsWith(matrix.python-version, '3.11.0-beta.1') + && !startsWith(matrix.python-version, '3.11.0-beta.3') env: TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} run: | @@ -195,7 +221,7 @@ jobs: - "3.8" - "3.9" - "3.10" - - "3.11.0-beta.1" + - "3.11.0-beta.3" os: [ubuntu-20.04, macos-latest] exclude: - os: macos-latest diff --git a/.manylinux-install.sh b/.manylinux-install.sh index 2062106..ac3e13d 100755 --- a/.manylinux-install.sh +++ b/.manylinux-install.sh @@ -37,8 +37,8 @@ for PYBIN in /opt/python/*/bin; do [[ "${PYBIN}" == *"cp38"* ]] || \ [[ "${PYBIN}" == *"cp39"* ]] || \ [[ "${PYBIN}" == *"cp310"* ]] ; then - "${PYBIN}/pip" install -e /io/ - "${PYBIN}/pip" wheel /io/ -w wheelhouse/ + "${PYBIN}/pip" install --pre -e /io/ + "${PYBIN}/pip" wheel /io/ --pre -w wheelhouse/ if [ `uname -m` == 'aarch64' ]; then cd /io/ "${PYBIN}/pip" install tox diff --git a/.meta.toml b/.meta.toml index dcb932b..d83801c 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 = "5f8f4eb428494f5cc349f91f7c312095e7ad7422" +commit-id = "9f8458e3f26368d43f9fae284fc063a97b2a651c" [python] with-appveyor = true diff --git a/tox.ini b/tox.ini index a479386..1ab5a31 100644 --- a/tox.ini +++ b/tox.ini @@ -22,8 +22,8 @@ envlist = usedevelop = true pip_pre = true deps = - # repoze.sphinx.autointerface does not yet support Sphinx >= 5: - Sphinx < 5 + # repoze.sphinx.autointerface does not yet support Sphinx >= 5: + Sphinx < 5 setenv = pure: PURE_PYTHON=1 !pure-!pypy-!pypy3: PURE_PYTHON=0 -- cgit v1.2.1