mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
* ci: drop unsupported versions * fix: a *dirty* request timeout for gthread workers * fix: drain current futures before exiting * fix: avoid accepting new connections completely * refactor: Just rely on graceful_timeout This has minor side effect of no progress on accepted BUT not "read" reqeusts. But I feel this makes code simpler and less prone to bugs. These time outs should be *rare* and fixed anyway.
60 lines
2.0 KiB
YAML
60 lines
2.0 KiB
YAML
name: tox
|
|
on: [push, pull_request]
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
env:
|
|
# note that some tools care only for the name, not the value
|
|
FORCE_COLOR: 1
|
|
jobs:
|
|
tox:
|
|
name: ${{ matrix.os }} / ${{ matrix.python-version }}
|
|
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes
|
|
timeout-minutes: 20
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
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:
|
|
- "3.10"
|
|
- "3.11"
|
|
- "3.12"
|
|
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 }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
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 }}
|