kombu/tox.ini

136 lines
4.0 KiB
INI

[tox]
envlist =
{pypy3.7,pypy3.8,3.7,3.8,3.9,3.10}-unit
{pypy3.7,pypy3.8,3.7,3.8,3.9,3.10}-linux-integration-py-amqp
{pypy3.7,pypy3.8,3.7,3.8,3.9,3.10}-linux-integration-redis
{pypy3.7,pypy3.8,3.7,3.8,3.9,3.10}-linux-integration-mongodb
{3.7,3.8,3.9,3.10}-linux-integration-kafka
flake8
apicheck
pydocstyle
requires = tox-docker>=3.0
[gh-actions]
python =
3.7: py37
3.8: py38
3.9: py39
3.10: py310, mypy
[testenv]
sitepackages = False
setenv = C_DEBUG_TEST = 1
passenv =
DISTUTILS_USE_SDK
deps=
-r{toxinidir}/requirements/dev.txt
apicheck,pypy3.7,pypy3.8,3.7,3.8,3.9,3.10: -r{toxinidir}/requirements/default.txt
apicheck,pypy3.7,pypy3.8,3.7,3.8,3.9,3.10: -r{toxinidir}/requirements/test.txt
apicheck,pypy3.7,pypy3.8,3.7-linux,3.8-linux,3.9-linux,3.10-linux: -r{toxinidir}/requirements/test-ci.txt
apicheck,3.7-linux,3.8-linux,3.9-linux,3.10-linux: -r{toxinidir}/requirements/extras/confluentkafka.txt
3.7-windows,3.8-windows,3.9-windows,3.10-windows: -r{toxinidir}/requirements/test-ci-windows.txt
apicheck,linkcheck: -r{toxinidir}/requirements/docs.txt
flake8,flakeplus,pydocstyle,mypy: -r{toxinidir}/requirements/pkgutils.txt
commands =
unit: python -bb -m pytest -rxs -xv --cov=kombu --cov-report=xml --no-cov-on-fail {posargs}
integration-py-amqp: py.test -xv -E py-amqp t/integration {posargs:-n2}
integration-redis: py.test -xv -E redis t/integration {posargs:-n2}
integration-mongodb: py.test -xv -E mongodb t/integration {posargs:-n2}
integration-kafka: py.test -xv -E kafka t/integration {posargs:-n2}
basepython =
pypy3.7: pypy3.7
pypy3.8: pypy3.8
3.7: python3.7
3.8,mypy: python3.8
3.9,apicheck,pydocstyle,flake8,linkcheck,cov: python3.9
3.10: python3.10
install_command = python -m pip --disable-pip-version-check install {opts} {packages}
docker =
integration-py-amqp: rabbitmq
integration-redis: redis
integration-mongodb: mongodb
integration-kafka: zookeeper
integration-kafka: kafka
dockerenv =
PYAMQP_INTEGRATION_INSTANCE=1
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit tcp_listeners [5672]
[docker:rabbitmq]
image = rabbitmq
ports = 5672:5672/tcp
healthcheck_cmd = /bin/bash -c 'rabbitmq-diagnostics ping -q'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
[docker:redis]
image = redis
ports = 6379:6379/tcp
healthcheck_cmd = /bin/sh -c 'redis-cli ping'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
[docker:mongodb]
image = mongo
ports = 27017:27017/tcp
healthcheck_cmd = /usr/bin/mongosh --eval 'db.runCommand("ping")'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
[docker:zookeeper]
image = bitnami/zookeeper:latest
ports = 2181:2181/tcp
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
environment = ALLOW_ANONYMOUS_LOGIN=yes
[docker:kafka]
image = bitnami/kafka:latest
ports =
9092:9092/tcp
healthcheck_cmd = /bin/bash -c 'kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092'
healthcheck_interval = 10
healthcheck_timeout = 10
healthcheck_retries = 30
healthcheck_start_period = 5
links =
zookeeper:zookeeper
environment =
KAFKA_BROKER_ID=1
KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
ALLOW_PLAINTEXT_LISTENER=yes
[testenv:apicheck]
commands = pip install -U -r{toxinidir}/requirements/dev.txt
sphinx-build -j2 -b apicheck -d {envtmpdir}/doctrees docs docs/_build/apicheck
[testenv:linkcheck]
commands = pip install -U -r{toxinidir}/requirements/dev.txt
sphinx-build -j2 -W -b linkcheck -d {envtmpdir}/doctrees docs docs/_build/linkcheck
[testenv:flake8]
commands =
flake8 -j2 {toxinidir}/kombu {toxinidir}/t
[testenv:pydocstyle]
commands =
pydocstyle {toxinidir}/kombu
[testenv:mypy]
commands = python -m mypy --config-file setup.cfg