Skip to content

Commit

Permalink
Merge pull request #3211 from pajod/patch-macos14-no-eol-python
Browse files Browse the repository at this point in the history
CI: revert macos-14 runners, migrate to tox v4-exclusive settings, add Python 3.13
  • Loading branch information
benoitc authored Jul 4, 2024
2 parents 9802e21 + 8fe034e commit 405c3ca
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 4 deletions.
24 changes: 23 additions & 1 deletion .github/workflows/tox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,12 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest] # All OSes pass except Windows because tests need Unix-only fcntl, grp, pwd, etc.
unsupported: [false]
os:
- ubuntu-latest
# not defaulting to macos-latest: Python <= 3.9 was missing from macos-14 @ arm64
- macos-13
# Not testing Windows, because tests need Unix-only fcntl, grp, pwd, etc.
python-version:
# CPython <= 3.7 is EoL since 2023-06-27
- "3.7"
Expand All @@ -26,6 +31,19 @@ jobs:
# PyPy <= 3.8 is EoL since 2023-06-16
- "pypy-3.9"
- "pypy-3.10"
include:
# Note: potentially "universal2" release
# https://github.com/actions/runner-images/issues/9741
- os: macos-latest
python-version: "3.12"
unsupported: false
# will run these without showing red CI results should they fail
- os: macos-latest
python-version: "3.13"
unsupported: true
- os: ubuntu-latest
python-version: "3.13"
unsupported: true
steps:
- uses: actions/checkout@v4
- name: Using Python ${{ matrix.python-version }}
Expand All @@ -35,10 +53,14 @@ jobs:
cache: pip
cache-dependency-path: requirements_test.txt
check-latest: true
allow-prereleases: ${{ matrix.unsupported }}
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
python -m pip install tox
- run: tox -e run-module
continue-on-error: ${{ matrix.unsupported }}
- run: tox -e run-entrypoint
continue-on-error: ${{ matrix.unsupported }}
- run: tox -e py
continue-on-error: ${{ matrix.unsupported }}
11 changes: 8 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,27 @@ envlist =
pycodestyle,
run-entrypoint,
run-module,
skipsdist = false
; Can't set skipsdist and use_develop in tox v4 to true due to https://github.com/tox-dev/tox/issues/2730

[testenv]
use_develop = true
package = editable
commands = pytest --cov=gunicorn {posargs}
deps =
-rrequirements_test.txt

[testenv:run-entrypoint]
package = wheel
deps =
# entry point: console script (provided by setuptools from pyproject.toml)
commands = python -c 'import subprocess; cmd_out = subprocess.check_output(["gunicorn", "--version"])[:79].decode("utf-8", errors="replace"); print(cmd_out); assert cmd_out.startswith("gunicorn ")'

[testenv:run-module]
package = wheel
deps =
# runpy (provided by module.__main__)
commands = python -c 'import sys,subprocess; cmd_out = subprocess.check_output([sys.executable, "-m", "gunicorn", "--version"])[:79].decode("utf-8", errors="replace"); print(cmd_out); assert cmd_out.startswith("gunicorn ")'

[testenv:lint]
no_package = true
commands =
pylint -j0 \
--max-line-length=120 \
Expand All @@ -44,6 +47,7 @@ deps =
pylint==2.17.4

[testenv:docs-lint]
no_package = true
allowlist_externals =
rst-lint
bash
Expand All @@ -56,6 +60,7 @@ commands =
bash -c "(set -o pipefail; rst-lint --encoding utf-8 docs/source/*.rst | grep -v 'Unknown interpreted text role\|Unknown directive type'); test $? == 1"

[testenv:pycodestyle]
no_package = true
commands =
pycodestyle gunicorn
deps =
Expand Down

0 comments on commit 405c3ca

Please sign in to comment.