forked from tox-dev/toml-fmt-common
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.toml
83 lines (78 loc) · 2.4 KB
/
tox.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
requires = ["tox>=4.22"]
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 tests with pytest under {env_name}"
package = "wheel"
wheel_build_env = ".pkg"
dependency_groups = ["test"]
pass_env = ["PYTEST_*", "SSL_CERT_FILE"]
set_env.COVERAGE_FILE = { replace = "env", name = "COVERAGE_FILE", default = "{work_dir}{/}.coverage.{env_name}" }
set_env.COVERAGE_FILECOVERAGE_PROCESS_START = "{tox_root}{/}pyproject.toml"
commands = [
[
"pytest",
{ replace = "posargs", extend = true, default = [
"--durations",
"5",
"--junitxml",
"{work_dir}{/}junit.{env_name}.xml",
"--no-cov-on-fail",
"--cov",
"{env_site_packages_dir}{/}toml_fmt_common",
"--cov",
"{tox_root}{/}tests",
"--cov-config",
"{tox_root}{/}pyproject.toml",
"--cov-context",
"test",
"--cov-report",
"term-missing:skip-covered",
"--cov-report",
"html:{env_tmp_dir}{/}htmlcov",
"--cov-report",
"xml:{work_dir}{/}coverage.{env_name}.xml",
"tests",
] },
],
]
[env.type]
description = "run type check on code base"
dependency_groups = ["type"]
commands = [["mypy", "src{/}toml_fmt_common", "tests"]]
[env.pkg_meta]
description = "check that the long description is valid"
skip_install = true
dependency_groups = ["pkg_meta"]
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 = "dev environment with all deps at {envdir}"
package = "editable"
dependency_groups = ["dev"]
commands = [["uv", "pip", "tree"], ["python", "-c", 'print(r"{env_python}")']]
[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"]
pass_env = [{ replace = "ref", of = ["env_run_base", "pass_env"], extend = true }, "PROGRAMDATA"]
commands = [["pre-commit", "run", "--all-files", "--show-diff-on-failure", { replace = "posargs", extend = true }]]