Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
109 lines (94 loc) · 2.82 KB
/
Copy pathpyproject.toml
File metadata and controls
109 lines (94 loc) · 2.82 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
[project]
name = "infrahub-backup-e2e"
version = "0.1.0"
description = "End-to-end test suite for the infrahub-backup CLI tooling"
authors = [{ name = "OpsMill", email = "info@opsmill.com" }]
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"pytest>=9",
"pytest-asyncio>=0.25",
"kubernetes-asyncio>=33.0",
"kr8s>=0.20",
"httpx>=0.27",
"pyyaml>=6.0",
"infrahub-sdk[all]>=1.0",
"boto3>=1.35",
"infrahub-testcontainers>=1.8",
]
[dependency-groups]
dev = [
"ruff",
"mypy",
"yamllint",
"rumdl",
"invoke",
"towncrier>=24.8.0",
]
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "session"
asyncio_mode = "auto"
testpaths = ["tests"]
markers = [
"e2e: end-to-end tests",
"docker: tests requiring Docker Compose Infrahub deployment",
"k8s: tests requiring Kubernetes (vcluster) Infrahub deployment",
"enterprise: tests the CI matrix runs in the Enterprise leg only, because they do not depend on the edition and are slower on Community",
]
[tool.ruff]
line-length = 120
exclude = [".venv", "bin", "docs"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.ruff.lint]
select = ["E", "F", "I", "W"]
[tool.mypy]
pretty = true
ignore_missing_imports = true
[tool.rumdl]
# MD013 line-length (prose wraps naturally), MD033 inline HTML (MDX components),
# MD041 first-line heading (files use frontmatter), MD029 ordered-list prefix
# (manual numbering), MD060 table column style (flexible alignment).
disable = ["MD013", "MD033", "MD041", "MD029", "MD060"]
exclude = ["node_modules", "docs/node_modules", "specs", ".specify", ".claude"]
[tool.towncrier]
# No `package` key: the released artifacts are Go binaries versioned from git tags,
# not this pyproject (which only describes the e2e test suite). Pass the release
# version explicitly, e.g. `uv run towncrier build --version 2.4.0`.
directory = "changelog"
filename = "CHANGELOG.md"
start_string = "<!-- towncrier release notes start -->\n"
underlines = ["", "", ""]
title_format = "## [{version}](https://github.com/opsmill/infrahub-backup/tree/v{version}) - {project_date}"
issue_format = "[#{issue}](https://github.com/opsmill/infrahub-backup/issues/{issue})"
orphan_prefix = "+"
template = "changelog/towncrier.md.template"
[[tool.towncrier.type]]
directory = "security"
name = "Security"
showcontent = true
[[tool.towncrier.type]]
directory = "removed"
name = "Removed"
showcontent = true
[[tool.towncrier.type]]
directory = "deprecated"
name = "Deprecated"
showcontent = true
[[tool.towncrier.type]]
directory = "added"
name = "Added"
showcontent = true
[[tool.towncrier.type]]
directory = "changed"
name = "Changed"
showcontent = true
[[tool.towncrier.type]]
directory = "fixed"
name = "Fixed"
showcontent = true
[[tool.towncrier.type]]
directory = "housekeeping"
name = "Housekeeping"
showcontent = true