diff options
Diffstat (limited to 'tox.ini')
| -rw-r--r-- | tox.ini | 82 |
1 files changed, 69 insertions, 13 deletions
@@ -1,15 +1,24 @@ [tox] envlist = - {pypy3,3.7,3.8,3.9,3.10}-unit - {pypy3,3.7,3.8,3.9,3.10}-linux-integration-py-amqp - {pypy3,3.7,3.8,3.9,3.10}-linux-integration-redis + {pypy3.9,3.7,3.8,3.9,3.10,3.11}-unit + {pypy3.9,3.7,3.8,3.9,3.10,3.11}-linux-integration-py-amqp + {pypy3.9,3.7,3.8,3.9,3.10,3.11}-linux-integration-redis + {pypy3.9,3.7,3.8,3.9,3.10,3.11}-linux-integration-mongodb + {3.7,3.8,3.9,3.10,3.11}-linux-integration-kafka flake8 - flakeplus apicheck pydocstyle requires = tox-docker>=3.0 +[gh-actions] +python = + 3.7: py37 + 3.8: py38 + 3.9: py39 + 3.10: py310, mypy + 3.11: py311 + [testenv] sitepackages = False setenv = C_DEBUG_TEST = 1 @@ -17,30 +26,38 @@ passenv = DISTUTILS_USE_SDK deps= -r{toxinidir}/requirements/dev.txt - apicheck,pypy3,3.7,3.8,3.9,3.10: -r{toxinidir}/requirements/default.txt - apicheck,pypy3,3.7,3.8,3.9,3.10: -r{toxinidir}/requirements/test.txt - apicheck,pypy3,3.7-linux,3.8-linux,3.9-linux,3.10-linux: -r{toxinidir}/requirements/test-ci.txt - 3.7-windows,3.8-windows,3.9-windows,3.10-windows: -r{toxinidir}/requirements/test-ci-windows.txt + apicheck,pypy3.9,3.7,3.8,3.9,3.10,3.11: -r{toxinidir}/requirements/default.txt + apicheck,pypy3.9,3.7,3.8,3.9,3.10,3.11: -r{toxinidir}/requirements/test.txt + apicheck,pypy3.9,3.7-linux,3.8-linux,3.9-linux,3.10-linux,3.11-linux: -r{toxinidir}/requirements/test-ci.txt + apicheck,3.7-linux,3.8-linux,3.9-linux,3.10-linux,3.11-linux: -r{toxinidir}/requirements/extras/confluentkafka.txt + 3.8-windows,3.9-windows,3.10-windows,3.11-windows: -r{toxinidir}/requirements/test-ci-windows.txt apicheck,linkcheck: -r{toxinidir}/requirements/docs.txt - flake8,flakeplus,pydocstyle: -r{toxinidir}/requirements/pkgutils.txt + flake8,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-py-amqp: pytest -xv -E py-amqp t/integration {posargs:-n2} + integration-redis: pytest -xv -E redis t/integration {posargs:-n2} + integration-mongodb: pytest -xv -E mongodb t/integration {posargs:-n2} + integration-kafka: pytest -xv -E kafka t/integration {posargs:-n2} basepython = + pypy3.9: pypy3.9 + pypy3.8: pypy3.8 3.7: python3.7 - 3.8: python3.8 + 3.8,mypy: python3.8 3.9,apicheck,pydocstyle,flake8,linkcheck,cov: python3.9 - pypy3: pypy3.7 3.10: python3.10 + 3.11: python3.11 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 @@ -64,6 +81,42 @@ 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 @@ -79,3 +132,6 @@ commands = [testenv:pydocstyle] commands = pydocstyle {toxinidir}/kombu + +[testenv:mypy] +commands = python -m mypy --config-file setup.cfg |
