9
9
# Original comment follows.
10
10
# ##
11
11
# ##
12
- # This workflow will install Python dependencies, run tests and lint with a variety of Python versions
12
+ # This workflow will install Python dependencies, run tests with a variety of Python versions
13
13
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
14
14
# ##
15
15
81
81
# other people to test/debug), the strategy is to divide the process
82
82
# into several different jobs. The first builds and saves the binary
83
83
# wheels. It has dependent jobs that download and install the wheel
84
- # to run tests, build docs, and perform linting . Building the
84
+ # to run tests, and build docs . Building the
85
85
# manylinux wheels is an independent set of jobs.
86
86
#
87
87
# This division is time-saving for projects that take awhile to
@@ -152,16 +152,10 @@ jobs:
152
152
restore-keys : |
153
153
${{ runner.os }}-pip-
154
154
155
- - name : Install Build Dependencies (3.13)
156
- if : matrix.python-version == '3.13'
157
- run : |
158
- pip install -U pip
159
- pip install -U "setuptools<69" wheel twine
160
155
- name : Install Build Dependencies
161
- if : matrix.python-version != '3.13'
162
156
run : |
163
157
pip install -U pip
164
- pip install -U "setuptools<69 " wheel twine
158
+ pip install -U "setuptools <74 " wheel twine
165
159
166
160
- name : Build zope.interface (macOS x86_64)
167
161
if : >
@@ -199,15 +193,7 @@ jobs:
199
193
python setup.py build_ext -i
200
194
python setup.py bdist_wheel
201
195
202
- - name : Install zope.interface and dependencies (3.13)
203
- if : matrix.python-version == '3.13'
204
- run : |
205
- # Install to collect dependencies into the (pip) cache.
206
- # Use "--pre" here because dependencies with support for this future
207
- # Python release may only be available as pre-releases
208
- pip install --pre .[test]
209
196
- name : Install zope.interface and dependencies
210
- if : matrix.python-version != '3.13'
211
197
run : |
212
198
# Install to collect dependencies into the (pip) cache.
213
199
pip install .[test]
@@ -250,7 +236,6 @@ jobs:
250
236
&& startsWith(github.ref, 'refs/tags')
251
237
&& !startsWith(runner.os, 'Linux')
252
238
&& !startsWith(matrix.python-version, 'pypy')
253
- && !startsWith(matrix.python-version, '3.13')
254
239
env :
255
240
TWINE_PASSWORD : ${{ secrets.TWINE_PASSWORD }}
256
241
run : |
@@ -331,7 +316,7 @@ jobs:
331
316
# works fine with non-editable installs.)
332
317
run : |
333
318
pip install -U wheel
334
- pip install -U --no-binary :all: coverage
319
+ pip install -U --no-binary :all: coverage[toml]
335
320
# Unzip into src/ so that testrunner can find the .so files
336
321
# when we ask it to load tests from that directory. This
337
322
# might also save some build time?
@@ -371,7 +356,7 @@ jobs:
371
356
runs-on : ${{ matrix.os }}
372
357
strategy :
373
358
matrix :
374
- python-version : ["3.9 "]
359
+ python-version : ["3.11 "]
375
360
os : [ubuntu-latest]
376
361
377
362
steps :
@@ -426,7 +411,7 @@ jobs:
426
411
- name : Install zope.interface
427
412
run : |
428
413
pip install -U wheel
429
- pip install -U coverage
414
+ pip install -U coverage[toml]
430
415
pip install -U "`ls dist/zope.interface-*.whl`[docs]"
431
416
- name : Build docs
432
417
env :
@@ -435,80 +420,13 @@ jobs:
435
420
sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
436
421
sphinx-build -b doctest -d docs/_build/doctrees docs docs/_build/doctest
437
422
438
- lint :
439
- needs : build-package
440
- runs-on : ${{ matrix.os }}
441
- strategy :
442
- matrix :
443
- python-version : ["3.9"]
444
- os : [ubuntu-latest]
445
-
446
- steps :
447
- - name : checkout
448
- uses : actions/checkout@v4
449
- - name : Set up Python ${{ matrix.python-version }}
450
- uses : actions/setup-python@v5
451
- with :
452
- python-version : ${{ matrix.python-version }}
453
- allow-prereleases : true
454
- # ##
455
- # Caching.
456
- # This actually *restores* a cache and schedules a cleanup action
457
- # to save the cache. So it must come before the thing we want to use
458
- # the cache.
459
- # ##
460
- - name : Get pip cache dir (default)
461
- id : pip-cache-default
462
- if : ${{ !startsWith(runner.os, 'Windows') }}
463
- run : |
464
- echo "dir=$(pip cache dir)" >>$GITHUB_OUTPUT
465
-
466
- - name : Get pip cache dir (Windows)
467
- id : pip-cache-windows
468
- if : ${{ startsWith(runner.os, 'Windows') }}
469
- run : |
470
- echo "dir=$(pip cache dir)" >> $Env:GITHUB_OUTPUT
471
-
472
- - name : pip cache (default)
473
- uses : actions/cache@v4
474
- if : ${{ !startsWith(runner.os, 'Windows') }}
475
- with :
476
- path : ${{ steps.pip-cache-default.outputs.dir }}
477
- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
478
- restore-keys : |
479
- ${{ runner.os }}-pip-
480
-
481
- - name : pip cache (Windows)
482
- uses : actions/cache@v4
483
- if : ${{ startsWith(runner.os, 'Windows') }}
484
- with :
485
- path : ${{ steps.pip-cache-windows.outputs.dir }}
486
- key : ${{ runner.os }}-pip-${{ matrix.python-version }}
487
- restore-keys : |
488
- ${{ runner.os }}-pip-
489
-
490
- - name : Download zope.interface wheel
491
- uses : actions/download-artifact@v4
492
- with :
493
- name : zope.interface-${{ runner.os }}-${{ matrix.python-version }}.whl
494
- path : dist/
495
- - name : Install zope.interface
496
- run : |
497
- pip install -U pip
498
- pip install -U wheel
499
- pip install -U `ls dist/zope.interface-*`[test]
500
- - name : Lint
501
- run : |
502
- pip install -U tox
503
- tox -e lint
504
-
505
423
manylinux :
506
424
runs-on : ubuntu-latest
507
425
if : github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
508
426
# We use a regular Python matrix entry to share as much code as possible.
509
427
strategy :
510
428
matrix :
511
- python-version : ["3.9 "]
429
+ python-version : ["3.11 "]
512
430
image : [manylinux2014_x86_64, manylinux2014_i686, manylinux2014_aarch64]
513
431
514
432
steps :
0 commit comments