summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorMichael Howitz <mh@gocept.com>2023-03-06 07:56:41 +0100
committerGitHub <noreply@github.com>2023-03-06 07:56:41 +0100
commit7c9340441401198b3eae0b76517afde6ff1d1719 (patch)
tree31f2b0e13b086927aaa43446cf13db4967796cb3 /.github
parent27ee700bdd906c130daf17cbeb53ca028f870319 (diff)
downloadzope-security-7c9340441401198b3eae0b76517afde6ff1d1719.tar.gz
Add preliminary support for Python 3.12 as of 3.12a5. (#96)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/tests.yml34
1 files changed, 30 insertions, 4 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index a2c1743..ff3565d 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -96,16 +96,17 @@ jobs:
fail-fast: false
matrix:
python-version:
- - "pypy-3.7"
+ - "pypy-3.9"
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
+ - "3.12.0-alpha.5"
os: [ubuntu-20.04, macos-11]
exclude:
- os: macos-11
- python-version: "pypy-3.7"
+ python-version: "pypy-3.9"
steps:
- name: checkout
@@ -178,7 +179,15 @@ jobs:
python setup.py build_ext -i
python setup.py bdist_wheel
+ - name: Install zope.security and dependencies (3.12.0-alpha.5)
+ if: matrix.python-version == '3.12.0-alpha.5'
+ run: |
+ # Install to collect dependencies into the (pip) cache.
+ # Use "--pre" here because dependencies with support for this future
+ # Python release may only be available as pre-releases
+ pip install --pre .[test]
- name: Install zope.security and dependencies
+ if: matrix.python-version != '3.12.0-alpha.5'
run: |
# Install to collect dependencies into the (pip) cache.
pip install .[test]
@@ -222,6 +231,7 @@ jobs:
&& startsWith(github.ref, 'refs/tags')
&& startsWith(runner.os, 'Mac')
&& !startsWith(matrix.python-version, 'pypy')
+ && !startsWith(matrix.python-version, '3.12.0-alpha.5')
env:
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
run: |
@@ -234,16 +244,17 @@ jobs:
fail-fast: false
matrix:
python-version:
- - "pypy-3.7"
+ - "pypy-3.9"
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
+ - "3.12.0-alpha.5"
os: [ubuntu-20.04, macos-11]
exclude:
- os: macos-11
- python-version: "pypy-3.7"
+ python-version: "pypy-3.9"
steps:
- name: checkout
@@ -276,7 +287,22 @@ jobs:
with:
name: zope.security-${{ runner.os }}-${{ matrix.python-version }}.whl
path: dist/
+ - name: Install zope.security 3.12.0-alpha.5
+ if: ${{ startsWith(matrix.python-version, '3.12.0-alpha.5') }}
+ run: |
+ pip install -U wheel setuptools
+ # coverage has a wheel on PyPI for a future python version which is
+ # not ABI compatible with the current one, so build it from sdist:
+ pip install -U --no-binary :all: coverage
+ # Unzip into src/ so that testrunner can find the .so files
+ # when we ask it to load tests from that directory. This
+ # might also save some build time?
+ unzip -n dist/zope.security-*whl -d src
+ # Use "--pre" here because dependencies with support for this future
+ # Python release may only be available as pre-releases
+ pip install --pre -U -e .[test]
- name: Install zope.security
+ if: ${{ !startsWith(matrix.python-version, '3.12.0-alpha.5') }}
run: |
pip install -U wheel setuptools
pip install -U coverage