2020-12-14 09:50:39 -05:00
|
|
|
[flake8]
|
|
|
|
# Use the more relaxed max line length permitted in PEP8.
|
|
|
|
max-line-length = 99
|
|
|
|
# This ignore is required by black.
|
|
|
|
extend-ignore = E203
|
|
|
|
extend-exclude =
|
|
|
|
venv
|
|
|
|
|
|
|
|
# This is the configuration for the tox-gh-actions plugin for GitHub Actions
|
|
|
|
# https://github.com/ymyzk/tox-gh-actions
|
|
|
|
# This section is not needed if not using GitHub Actions for CI.
|
|
|
|
[gh-actions]
|
|
|
|
python =
|
|
|
|
3.7: py37
|
|
|
|
3.8: py38, fmt-check, lint
|
|
|
|
3.9: py39
|
|
|
|
|
|
|
|
[tox]
|
|
|
|
# These are the default environments that will be run
|
|
|
|
# when ``tox`` is run without arguments.
|
|
|
|
envlist =
|
|
|
|
fmt-check
|
|
|
|
lint
|
2021-06-17 13:37:07 -04:00
|
|
|
py{37,38,39}
|
2020-12-14 09:50:39 -05:00
|
|
|
skip_missing_interpreters = true
|
|
|
|
|
|
|
|
# Activate isolated build environment. tox will use a virtual environment
|
|
|
|
# to build a source distribution from the source tree. For build tools and
|
|
|
|
# arguments use the pyproject.toml file as specified in PEP-517 and PEP-518.
|
|
|
|
isolated_build = true
|
|
|
|
|
|
|
|
[testenv]
|
|
|
|
deps =
|
|
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
-r{toxinidir}/dev-requirements.txt
|
|
|
|
commands =
|
|
|
|
# Use -bb to enable BytesWarnings as error to catch str/bytes misuse.
|
|
|
|
# Use -Werror to treat warnings as errors.
|
|
|
|
{envpython} -bb -Werror -m pytest {posargs}
|
|
|
|
|
|
|
|
[testenv:type-check]
|
|
|
|
skip_install = true
|
|
|
|
deps =
|
|
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
-r{toxinidir}/dev-requirements.txt
|
|
|
|
commands =
|
|
|
|
mypy src tests
|
|
|
|
|
|
|
|
[testenv:lint]
|
|
|
|
skip_install = true
|
|
|
|
deps =
|
|
|
|
-r{toxinidir}/dev-requirements.txt
|
|
|
|
commands =
|
|
|
|
flake8 aprsd_slack_plugin tests
|
|
|
|
|
|
|
|
[testenv:docs]
|
|
|
|
skip_install = true
|
|
|
|
deps =
|
|
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
-r{toxinidir}/dev-requirements.txt
|
|
|
|
changedir = {toxinidir}/docs
|
|
|
|
commands =
|
|
|
|
{envpython} clean_docs.py
|
|
|
|
sphinx-apidoc --force --output-dir apidoc {toxinidir}/aprsd_slack_plugin
|
|
|
|
sphinx-build -a -W . _build
|
|
|
|
|
|
|
|
[testenv:fmt]
|
|
|
|
skip_install = true
|
|
|
|
deps =
|
|
|
|
-r{toxinidir}/dev-requirements.txt
|
|
|
|
commands =
|
|
|
|
isort aprsd_slack_plugin tests
|
|
|
|
black aprsd_slack_plugin tests
|
|
|
|
|
|
|
|
[testenv:fmt-check]
|
|
|
|
skip_install = true
|
|
|
|
deps =
|
|
|
|
-r{toxinidir}/dev-requirements.txt
|
|
|
|
commands =
|
|
|
|
isort --check-only aprsd_slack_plugin tests
|
|
|
|
black --check aprsd_slack_plugin tests
|
|
|
|
|
|
|
|
[testenv:licenses]
|
|
|
|
skip_install = true
|
|
|
|
recreate = true
|
|
|
|
deps =
|
|
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
pip-licenses
|
|
|
|
commands =
|
|
|
|
pip-licenses {posargs}
|