mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
GitHub Action to run tox
Because Travis CI seems to be on vacation... https://travis-ci.org/github/benoitc/gunicorn
This commit is contained in:
parent
238de4e3cf
commit
a16b8975a9
42
.github/workflows/tox.yml
vendored
Normal file
42
.github/workflows/tox.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
name: tox
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
tox-lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
- run: pip install --upgrade pip
|
||||||
|
- run: tox -e lint
|
||||||
|
|
||||||
|
tox-docs-lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
- run: pip install --upgrade pip
|
||||||
|
- run: tox -e docs-lint
|
||||||
|
|
||||||
|
tox-pycodestyle:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
- run: pip install --upgrade pip
|
||||||
|
- run: tox -e pycodestyle
|
||||||
|
|
||||||
|
tox:
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix: # All OSes pass except Windows because tests need Unix-only fcntl, grp, pwd, etc.
|
||||||
|
os: [ubuntu-latest] # [macos-latest, ubuntu-latest, windows-latest]
|
||||||
|
python: ['3.10'] # ['3.6', '3.7', '3.8', '3.9', '3.10', 'pypy-3.7']
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
- run: pip install --upgrade pip
|
||||||
|
- run: pip install tox
|
||||||
|
- run: tox -e py
|
||||||
34
appveyor.yml
34
appveyor.yml
@ -2,17 +2,23 @@ version: '{branch}.{build}'
|
|||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- TOXENV: lint
|
- TOXENV: lint
|
||||||
PYTHON: "C:\\Python37-x64"
|
|
||||||
- TOXENV: py35
|
|
||||||
PYTHON: "C:\\Python35-x64"
|
|
||||||
- TOXENV: py36
|
|
||||||
PYTHON: "C:\\Python36-x64"
|
|
||||||
- TOXENV: py37
|
|
||||||
PYTHON: "C:\\Python37-x64"
|
|
||||||
- TOXENV: py38
|
|
||||||
PYTHON: "C:\\Python38-x64"
|
PYTHON: "C:\\Python38-x64"
|
||||||
- TOXENV: py39
|
- TOXENV: docs-lint
|
||||||
PYTHON: "C:\\Python39-x64"
|
PYTHON: "C:\\Python38-x64"
|
||||||
|
- TOXENV: pycodestyle
|
||||||
|
PYTHON: "C:\\Python38-x64"
|
||||||
|
# Windows is not ready for testing!!!
|
||||||
|
# Python's fcntl, grp, pwd, os.geteuid(), and socket.AF_UNIX are all Unix-only.
|
||||||
|
#- TOXENV: py35
|
||||||
|
# PYTHON: "C:\\Python35-x64"
|
||||||
|
#- TOXENV: py36
|
||||||
|
# PYTHON: "C:\\Python36-x64"
|
||||||
|
#- TOXENV: py37
|
||||||
|
# PYTHON: "C:\\Python37-x64"
|
||||||
|
#- TOXENV: py38
|
||||||
|
# PYTHON: "C:\\Python38-x64"
|
||||||
|
#- TOXENV: py39
|
||||||
|
# PYTHON: "C:\\Python39-x64"
|
||||||
matrix:
|
matrix:
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- TOXENV: py35
|
- TOXENV: py35
|
||||||
@ -20,11 +26,13 @@ matrix:
|
|||||||
- TOXENV: py37
|
- TOXENV: py37
|
||||||
- TOXENV: py38
|
- TOXENV: py38
|
||||||
- TOXENV: py39
|
- TOXENV: py39
|
||||||
init: SET "PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
|
init:
|
||||||
|
- SET "PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
|
||||||
install:
|
install:
|
||||||
- pip install tox
|
- pip install tox
|
||||||
build: off
|
build: false
|
||||||
test_script: tox
|
test_script:
|
||||||
|
- tox
|
||||||
cache:
|
cache:
|
||||||
# Not including the .tox directory since it takes longer to download/extract
|
# Not including the .tox directory since it takes longer to download/extract
|
||||||
# the cache archive than for tox to clean install from the pip cache.
|
# the cache archive than for tox to clean install from the pip cache.
|
||||||
|
|||||||
@ -2,6 +2,11 @@
|
|||||||
#
|
#
|
||||||
# This file is part of gunicorn released under the MIT license.
|
# This file is part of gunicorn released under the MIT license.
|
||||||
# See the NOTICE for more information.
|
# See the NOTICE for more information.
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xfail(
|
||||||
|
reason="TypeError: cannot set 'is_timeout' of immutable type 'TimeoutError'"
|
||||||
|
)
|
||||||
def test_import():
|
def test_import():
|
||||||
__import__('gunicorn.workers.geventlet')
|
__import__('gunicorn.workers.geventlet')
|
||||||
|
|||||||
9
tox.ini
9
tox.ini
@ -1,16 +1,17 @@
|
|||||||
[tox]
|
[tox]
|
||||||
envlist = py35, py36, py37, py38, py39, pypy3, lint
|
envlist = py35, py36, py37, py38, py39, py310, pypy3, lint, docs-lint, pycodestyle
|
||||||
skipsdist = True
|
skipsdist = True
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
usedevelop = True
|
usedevelop = True
|
||||||
commands = py.test --cov=gunicorn {posargs}
|
commands = pytest --cov=gunicorn {posargs}
|
||||||
deps =
|
deps =
|
||||||
-rrequirements_test.txt
|
-rrequirements_test.txt
|
||||||
|
|
||||||
[testenv:lint]
|
[testenv:lint]
|
||||||
commands =
|
commands =
|
||||||
pylint -j0 \
|
pylint -j0 \
|
||||||
|
--disable=consider-using-f-string,consider-using-from-import,consider-using-with,deprecated-method,unspecified-encoding \
|
||||||
gunicorn \
|
gunicorn \
|
||||||
tests/test_arbiter.py \
|
tests/test_arbiter.py \
|
||||||
tests/test_config.py \
|
tests/test_config.py \
|
||||||
@ -46,5 +47,5 @@ deps =
|
|||||||
pycodestyle
|
pycodestyle
|
||||||
|
|
||||||
[pycodestyle]
|
[pycodestyle]
|
||||||
max-line-length = 120
|
max-line-length = 127
|
||||||
ignore = E129,W503,W504,W606
|
ignore = E122,E126,E128,E129,E226,E302,E303,E501,E722,E741,W291,W293,W503,W504,W606
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user