81 lines
2.1 KiB
TOML
81 lines
2.1 KiB
TOML
![]() |
requires = [ "tox>=4.2", "tox-uv>=1.11.3" ]
|
||
|
env_list = [
|
||
|
"fix",
|
||
|
"3.13",
|
||
|
"3.12",
|
||
|
"3.11",
|
||
|
"3.10",
|
||
|
"3.9",
|
||
|
"type",
|
||
|
"pkg_meta",
|
||
|
]
|
||
|
skip_missing_interpreters = true
|
||
|
|
||
|
[env_run_base]
|
||
|
description = "run the unit tests with pytest under {base_python}"
|
||
|
package = "wheel"
|
||
|
wheel_build_env = ".pkg"
|
||
|
extras = [ "graphviz", "test" ]
|
||
|
pass_env = [ "DIFF_AGAINST", "PYTEST_*" ]
|
||
|
set_env.COVERAGE_FILE = "{work_dir}/.coverage.{env_name}"
|
||
|
commands = [
|
||
|
[
|
||
|
"python",
|
||
|
"-m",
|
||
|
"pytest",
|
||
|
"{tty:--color=yes}",
|
||
|
{ replace = "posargs", extend = true, default = [
|
||
|
"--cov",
|
||
|
"{env_site_packages_dir}{/}pipdeptree",
|
||
|
"--cov",
|
||
|
"{tox_root}{/}tests",
|
||
|
"--cov-config=pyproject.toml",
|
||
|
"--no-cov-on-fail",
|
||
|
"--cov-report",
|
||
|
"term-missing:skip-covered",
|
||
|
"--cov-context=test",
|
||
|
"--cov-report",
|
||
|
"html:{env_tmp_dir}{/}htmlcov",
|
||
|
"--cov-report",
|
||
|
"xml:{work_dir}{/}coverage.{env_name}.xml",
|
||
|
"--junitxml",
|
||
|
"{work_dir}{/}junit.{env_name}.xml",
|
||
|
"tests",
|
||
|
] },
|
||
|
],
|
||
|
[
|
||
|
"diff-cover",
|
||
|
"--compare-branch",
|
||
|
"{env:DIFF_AGAINST:origin/main}",
|
||
|
"{work_dir}{/}coverage.{env_name}.xml",
|
||
|
"--fail-under",
|
||
|
"100",
|
||
|
],
|
||
|
]
|
||
|
|
||
|
[env.fix]
|
||
|
description = "format the code base to adhere to our styles, and complain about what we cannot do automatically"
|
||
|
skip_install = true
|
||
|
deps = [ "pre-commit-uv>=4.1.3" ]
|
||
|
commands = [ [ "pre-commit", "run", "--all-files", "--show-diff-on-failure" ] ]
|
||
|
|
||
|
[env.type]
|
||
|
description = "run type check on code base"
|
||
|
deps = [ "mypy==1.11.2" ]
|
||
|
commands = [ [ "mypy", "src" ], [ "mypy", "tests" ] ]
|
||
|
|
||
|
[env.pkg_meta]
|
||
|
description = "check that the long description is valid"
|
||
|
skip_install = true
|
||
|
deps = [ "check-wheel-contents>=0.6", "twine>=5.1.1", "uv>=0.4.10" ]
|
||
|
commands = [
|
||
|
[ "uv", "build", "--sdist", "--wheel", "--out-dir", "{env_tmp_dir}", "." ],
|
||
|
[ "twine", "check", "{env_tmp_dir}{/}*" ],
|
||
|
[ "check-wheel-contents", "--no-config", "{env_tmp_dir}" ],
|
||
|
]
|
||
|
|
||
|
[env.dev]
|
||
|
description = "generate a DEV environment"
|
||
|
package = "editable"
|
||
|
commands = [ [ "uv", "pip", "tree" ], [ "python", "-c", "import sys; print(sys.executable)" ] ]
|