|
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
|
@@ -156,12 +156,12 @@ jobs:
|
156 | 156 | if: matrix.python-version == '3.13'
|
157 | 157 | run: |
|
158 | 158 | pip install -U pip
|
159 |
| - pip install -U "setuptools<69" wheel twine |
| 159 | + pip install -U "setuptools <74" wheel twine |
160 | 160 | - name: Install Build Dependencies
|
161 | 161 | if: matrix.python-version != '3.13'
|
162 | 162 | run: |
|
163 | 163 | pip install -U pip
|
164 |
| - pip install -U "setuptools<69" wheel twine |
| 164 | + pip install -U "setuptools <74" wheel twine |
165 | 165 |
|
166 | 166 | - name: Build zope.interface (macOS x86_64)
|
167 | 167 | if: >
|
@@ -371,7 +371,7 @@ jobs:
|
371 | 371 | runs-on: ${{ matrix.os }}
|
372 | 372 | strategy:
|
373 | 373 | matrix:
|
374 |
| - python-version: ["3.9"] |
| 374 | + python-version: ["3.11"] |
375 | 375 | os: [ubuntu-latest]
|
376 | 376 |
|
377 | 377 | steps:
|
@@ -435,80 +435,13 @@ jobs:
|
435 | 435 | sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html
|
436 | 436 | sphinx-build -b doctest -d docs/_build/doctrees docs docs/_build/doctest
|
437 | 437 |
|
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 | 438 | manylinux:
|
506 | 439 | runs-on: ubuntu-latest
|
507 | 440 | if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
508 | 441 | # We use a regular Python matrix entry to share as much code as possible.
|
509 | 442 | strategy:
|
510 | 443 | matrix:
|
511 |
| - python-version: ["3.9"] |
| 444 | + python-version: ["3.11"] |
512 | 445 | image: [manylinux2014_x86_64, manylinux2014_i686, manylinux2014_aarch64]
|
513 | 446 |
|
514 | 447 | steps:
|
@@ -589,6 +522,8 @@ jobs:
|
589 | 522 | name: manylinux_${{ matrix.image }}_wheels.zip
|
590 | 523 | - name: Restore pip cache permissions
|
591 | 524 | run: sudo chown -R $(whoami) ${{ steps.pip-cache-default.outputs.dir }}
|
| 525 | + - name: Prevent publishing wheels for unreleased Python versions |
| 526 | + run: VER=$(echo '3.13' | tr -d .) && ls -al wheelhouse && sudo rm -f wheelhouse/*-cp${VER}*.whl && ls -al wheelhouse |
592 | 527 | - name: Publish package to PyPI
|
593 | 528 | uses: pypa/gh-action-pypi-publish@release/v1
|
594 | 529 | if: >
|
|
0 commit comments