Files
zuul/tox.ini
James E. Blair f718b16844 Stop running mypy in linters
We aren't generally using type annotations, and mypy itself is
somewhat flawed, occasionally producing false positives and rarely
catching errors.  Stop running it.

Change-Id: I6f24457f7d99ca11ec9228e505e6edec558baf9e
2021-08-09 08:49:29 -07:00

122 lines
3.0 KiB
INI

[tox]
minversion = 3.2
skipsdist = True
envlist = linters,py3{-docker}
ignore_basepython_conflict = True
# TODO(stephenfin): It would be good to set 'requires = tox-docker', but doing
# so borks the tools/pip.sh wrapper we're using here and probably isn't what
# we want in the gate :(
[testenv]
basepython = python3
install_command = bash tools/pip.sh {opts} {packages}
setenv =
VIRTUAL_ENV={envdir}
OS_TEST_TIMEOUT=360
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:1}
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:1}
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:1}
passenv =
DOCKER_*
NODEPOOL_ZK_HOST
OS_LOG_CAPTURE
OS_LOG_DEFAULTS
OS_STDERR_CAPTURE
OS_STDOUT_CAPTURE
YARN_REGISTRY
ZUUL_MYSQL_HOST
ZUUL_POSTGRES_HOST
ZUUL_TEST_ROOT
ZUUL_ZK_HOST
ZUUL_ZK_CA
ZUUL_ZK_CERT
ZUUL_ZK_KEY
usedevelop = True
whitelist_externals = bash
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
docker =
docker: zookeeper:3.4
commands =
bash -c 'stestr run --slowest --concurrency=`python -c "import multiprocessing; print(int(multiprocessing.cpu_count()/2))"` {posargs}'
[testenv:bindep]
# Do not install any requirements. We want this to be fast and work even if
# system dependencies are missing, since it's used to tell you what system
# dependencies are missing! This also means that bindep must be installed
# separately, outside of the requirements files.
usedevelop = False
install_command = pip install {opts} {packages}
deps = bindep
commands = bindep test
[testenv:linters]
usedevelop = False
install_command = pip install {opts} {packages}
deps =
flake8
openapi-spec-validator
commands =
flake8 {posargs}
openapi-spec-validator web/public/openapi.yaml
[testenv:cover]
setenv =
{[testenv]setenv}
PYTHON=coverage run --source zuul --parallel-mode
commands =
stestr run {posargs}
coverage combine
coverage html -d cover
coverage xml -o cover/coverage.xml
[testenv:docs]
install_command = pip install {opts} {packages}
deps =
-r{toxinidir}/doc/requirements.txt
-r{toxinidir}/test-requirements.txt
commands =
sphinx-build -E -W -d doc/build/doctrees -b html doc/source/ doc/build/html
[testenv:venv]
commands = {posargs}
[testenv:nodepool]
commands =
stestr run --concurrency=1 --test-path ./tests/nodepool {posargs}
[testenv:zuul_client]
commands =
stestr run --concurrency=1 --test-path ./tests/zuul_client {posargs}
deps =
zuul-client
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
[testenv:remote]
passenv =
DOCKER_*
NODEPOOL_ZK_HOST
OS_LOG_CAPTURE
OS_LOG_DEFAULTS
OS_STDERR_CAPTURE
OS_STDOUT_CAPTURE
YARN_REGISTRY
ZUUL_REMOTE_IPV4
ZUUL_SSH_KEY
ZUUL_TEST_ROOT
ZUUL_ZK_HOST
ZUUL_ZK_CA
ZUUL_ZK_CERT
ZUUL_ZK_KEY
commands =
stestr run --test-path ./tests/remote {posargs}
[flake8]
# These are ignored intentionally in zuul projects;
# please don't submit patches that solely correct them or enable them.
ignore = E124,E125,E129,E252,E402,E741,H,W503,W504
show-source = True
exclude = .venv,.tox,dist,doc,build,*.egg,node_modules