summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Howitz <mh@gocept.com>2022-07-08 08:27:09 +0200
committerGitHub <noreply@github.com>2022-07-08 08:27:09 +0200
commit2231265da5ee98a7d53375386c55a4b4476a73cb (patch)
tree68cf8d5ab0797562c19b7a992fa1e03bbd36b7c7
parent136d9fcc22bad729572659da7fa3f574428e767a (diff)
downloadzope-security-2231265da5ee98a7d53375386c55a4b4476a73cb.tar.gz
Fix GHA Python 3.10 build on MacOS + PyPy-2.7 (#87)
Built with https://github.com/zopefoundation/meta/pull/150.
-rw-r--r--.github/workflows/tests.yml36
-rwxr-xr-x.manylinux-install.sh4
-rw-r--r--.meta.toml2
-rw-r--r--tox.ini4
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