peewee-plus/tox.ini
Ethan Paul 60bdfbfb17 Remove support for python 3.6
Update transient dependencies
Update actions workflow to install poetry 1.2
Update makefile to use poetry 1.2 command structure
Add safety exclusions to account for outdated meta tools
Bump feature version to 1.2
2022-11-15 10:16:24 -05:00

89 lines
1.8 KiB
INI

[tox]
envlist =
py{37,38,39,310}
static
static-tests
security
isolated_build = true
skip_missing_interpreters = true
[testenv]
description = Run the tests
require_locked_deps = true
require_poetry = true
locked_deps =
pytest
pytest-cov
ruamel.yaml
toml
commands =
pytest {toxinidir}/tests/ \
--cov peewee_plus \
--cov-config {toxinidir}/.coveragerc \
--cov-report term-missing
[testenv:static]
description = Static formatting and quality enforcement
basepython = python3.10
ignore_errors = true
locked_deps =
black
blacken-docs
mdformat
mdformat-gfm
mypy
reorder-python-imports
pre-commit
pre-commit-hooks
pylint
commands =
pre-commit run \
--all-files
pylint {toxinidir}/peewee_plus.py \
--rcfile {toxinidir}/.pylintrc
mypy {toxinidir}/peewee_plus.py \
--ignore-missing-imports \
--no-strict-optional
[testenv:static-tests]
description = Static formatting and quality enforcement for the tests
basepython = python3.10
ignore_errors = true
locked_deps =
mypy
pylint
pytest
types-toml
commands =
pylint {toxinidir}/tests/ \
--rcfile {toxinidir}/.pylintrc
mypy {toxinidir}/tests/ \
--ignore-missing-imports \
--no-strict-optional
[testenv:security]
description = Security checks
basepython = python3.10
skip_install = true
ignore_errors = true
locked_deps =
bandit
safety
poetry
commands =
bandit {toxinidir}/peewee_plus.py \
--recursive \
--quiet
bandit {toxinidir}/tests/ \
--recursive \
--quiet \
--skip B101
poetry export \
--format requirements.txt \
--output {envtmpdir}/requirements.txt \
--without-hashes \
--dev
safety check \
--json \
--file {envtmpdir}/requirements.txt