Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
name: linting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: 3.x
Expand Down
33 changes: 15 additions & 18 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,6 @@ env:
ZOPE_INTERFACE_STRICT_IRO: 1

PIP_UPGRADE_STRATEGY: eager
# Don't get warnings about Python 2 support being deprecated. We
# know. The env var works for pip 20.
PIP_NO_PYTHON_VERSION_WARNING: 1
PIP_NO_WARN_SCRIPT_LOCATION: 1

CFLAGS: -O3 -pipe
CXXFLAGS: -O3 -pipe
Expand Down Expand Up @@ -96,7 +92,7 @@ jobs:
fail-fast: false
matrix:
python-version:
- "pypy-3.10"
- "pypy-3.11"
- "3.9"
- "3.10"
- "3.11"
Expand All @@ -106,11 +102,11 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
exclude:
- os: macos-latest
python-version: "pypy-3.10"
python-version: "pypy-3.11"

steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
Expand Down Expand Up @@ -158,12 +154,12 @@ jobs:
if: matrix.python-version == '3.14'
run: |
pip install -U pip
pip install -U "setuptools <= 75.6.0" wheel twine
pip install -U "setuptools == 78.1.1" wheel twine
- name: Install Build Dependencies
if: matrix.python-version != '3.14'
run: |
pip install -U pip
pip install -U "setuptools <= 75.6.0" wheel twine
pip install -U "setuptools == 78.1.1" wheel twine

- name: Build zope.interface (macOS x86_64)
if: >
Expand Down Expand Up @@ -212,6 +208,7 @@ jobs:
if: matrix.python-version != '3.14'
run: |
# Install to collect dependencies into the (pip) cache.
pip install -U pip "setuptools == 78.1.1"
pip install .[test]

- name: Check zope.interface build
Expand Down Expand Up @@ -265,7 +262,7 @@ jobs:
fail-fast: false
matrix:
python-version:
- "pypy-3.10"
- "pypy-3.11"
- "3.9"
- "3.10"
- "3.11"
Expand All @@ -275,11 +272,11 @@ jobs:
os: [ubuntu-latest, macos-latest, windows-latest]
exclude:
- os: macos-latest
python-version: "pypy-3.10"
python-version: "pypy-3.11"

steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
Expand Down Expand Up @@ -339,7 +336,7 @@ jobs:
# 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.interface-*whl -d src
unzip -n dist/zope_interface-*whl -d src
pip install -U -e .[test]
- name: Run tests with C extensions
if: ${{ !startsWith(matrix.python-version, 'pypy') }}
Expand Down Expand Up @@ -380,7 +377,7 @@ jobs:

steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
Expand Down Expand Up @@ -433,7 +430,7 @@ jobs:
run: |
pip install -U wheel
pip install -U coverage[toml]
pip install -U "`ls dist/zope.interface-*.whl`[docs]"
pip install -U "`ls dist/*.whl`[docs]"
- name: Build docs
env:
ZOPE_INTERFACE_STRICT_IRO: 1
Expand All @@ -451,7 +448,7 @@ jobs:

steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
Expand Down Expand Up @@ -504,7 +501,7 @@ jobs:
run: |
pip install -U wheel
pip install -U tox
pip install -U "`ls dist/zope.interface-*.whl`[docs]"
pip install -U "`ls dist/*.whl`[docs]"
- name: Run release check
env:
ZOPE_INTERFACE_STRICT_IRO: 1
Expand All @@ -522,7 +519,7 @@ jobs:

steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
Expand Down
2 changes: 1 addition & 1 deletion .manylinux-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,6 @@ for PYBIN in /opt/python/*/bin; do
done

# Bundle external shared libraries into the wheels
for whl in wheelhouse/zope.interface*.whl; do
for whl in wheelhouse/zope_interface*.whl; do
auditwheel repair "$whl" -w /io/wheelhouse/
done
6 changes: 3 additions & 3 deletions .meta.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# https://github.com/zopefoundation/meta/tree/master/config/c-code
[meta]
template = "c-code"
commit-id = "3c1c588c"
commit-id = "6cd4f790"

[python]
with-pypy = true
Expand All @@ -23,7 +23,7 @@ testenv-setenv = [
]
coverage-command = "coverage combine"
coverage-additional = [
"depends = py38,py38-pure,py39,py39-pure,py310,py310-pure,py311,py311-pure,py312,py312-pure,py313,py313-pure,pypy3,docs",
"depends = py39,py39-pure,py310,py310-pure,py311,py311-pure,py312,py312-pure,py313,py313-pure,py314,py314-pure,pypy3,docs",
"parallel_show_output = true",
]

Expand Down Expand Up @@ -74,7 +74,7 @@ additional-install = [
" # 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.interface-*whl -d src",
" unzip -n dist/zope_interface-*whl -d src",
" pip install -U -e .[test]",
"- name: Run tests with C extensions",
" if: ${{ !startsWith(matrix.python-version, 'pypy') }}",
Expand Down
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
minimum_pre_commit_version: '3.6'
repos:
- repo: https://github.com/pycqa/isort
rev: "6.0.0"
rev: "6.0.1"
hooks:
- id: isort
- repo: https://github.com/hhatto/autopep8
Expand All @@ -12,7 +12,7 @@ repos:
- id: autopep8
args: [--in-place, --aggressive, --aggressive]
- repo: https://github.com/asottile/pyupgrade
rev: v3.19.1
rev: v3.20.0
hooks:
- id: pyupgrade
args: [--py39-plus]
Expand All @@ -21,7 +21,7 @@ repos:
hooks:
- id: teyit
- repo: https://github.com/PyCQA/flake8
rev: "7.1.1"
rev: "7.3.0"
hooks:
- id: flake8
additional_dependencies:
Expand Down
2 changes: 1 addition & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

- Drop support for Python 3.8.

- Allow using ``setuptools <= 75.6.0``.
- Allow using newer ``setuptools`` version.
(`#333 <https://github.com/zopefoundation/zope.interface/issues/333>`_)


Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

[build-system]
requires = [
"setuptools <= 75.6.0",
"setuptools",
"wheel",
]
build-backend = "setuptools.build_meta"

Expand Down
7 changes: 4 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ envlist =
[testenv]
pip_pre = py314: true
deps =
setuptools <= 75.6.0
setuptools == 78.1.1
Sphinx
setenv =
pure: PURE_PYTHON=1
Expand Down Expand Up @@ -50,15 +50,16 @@ commands =
coverage combine
coverage html
coverage report
depends = py38,py38-pure,py39,py39-pure,py310,py310-pure,py311,py311-pure,py312,py312-pure,py313,py313-pure,pypy3,docs
depends = py39,py39-pure,py310,py310-pure,py311,py311-pure,py312,py312-pure,py313,py313-pure,py314,py314-pure,pypy3,docs
parallel_show_output = true

[testenv:release-check]
description = ensure that the distribution is ready to release
basepython = python3
skip_install = true
deps =
setuptools <= 75.6.0
setuptools
wheel
twine
build
check-manifest
Expand Down
Loading