[tox]
envlist = py37, py38, py39, py310, flake8

[gh-actions]
python =
    3.7: py37
    3.8: py38
    3.9: py39
    3.10: py310, flake8

[testenv]
commands =
    {envbindir}/py.test --tb=short \
        --junitxml={toxworkdir}/reports/{envname}/junit.xml \
        --alluredir={toxworkdir}/reports/{envname}/allure-data \
        --cov={envsitepackagesdir}/dosagelib \
        --cov-branch \
        --cov-config=tox.ini \
        --cov-report=term \
        --cov-report=xml:{toxworkdir}/reports/{envname}/coverage.xml \
        --cov-report=html:{toxworkdir}/reports/{envname}/htmlcov \
        {posargs}

# Also install extra dependencies for tests.
extras =
    css
    dev

[testenv:flake8]
commands =
    - {envbindir}/flake8 --format=pylint \
          --tee --output-file={toxworkdir}/flake8.log

[flake8]
# we aim for 79, but this suppresses warnings for now...
max-line-length = 100
ignore = E127,E128,E241,FI12,FI14,FI15,FI18,FI50,FI51,FI53,FI54,FI55,W504
require-code = True
no-accept-encodings = True
min-version = 3.7

# Duplicated for CodeClimate...
[pep8]
max-line-length = 100
ignore = E127,E128,E241,FI12,FI14,FI15,FI18,FI50,FI51,FI53,FI54,FI55,W504

[pytest]
filterwarnings = default
junit_family = xunit2

[isort]