Public Access
DEVX-3: feat: pluggable change classification framework
This commit is contained in:
@@ -83,3 +83,54 @@ indent-style = "space"
|
||||
include = ["src"]
|
||||
pythonVersion = "3.12"
|
||||
strict = ["src/devx/config.py", "src/devx/exceptions.py", "src/devx/i18n.py", "src/devx/api_clients.py", "src/devx/gitea_cli.py"]
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Change classification — determines which changes trigger a release
|
||||
# ---------------------------------------------------------------------------
|
||||
# Safe-by-default: any file NOT listed here defaults to user-facing
|
||||
# (requiring a release). This prevents new file types from silently
|
||||
# skipping releases.
|
||||
#
|
||||
# Rule priority (first match wins):
|
||||
# 1. user_facing_overrides (safety — highest priority)
|
||||
# 2. infrastructure_overrides (explicit per-file)
|
||||
# 3. infrastructure (glob patterns)
|
||||
# 4. Default: user-facing (safe)
|
||||
[tool.devx.classify]
|
||||
# Infrastructure paths — changes here don't trigger a release
|
||||
infrastructure = [
|
||||
".gitea/**",
|
||||
"tests/**",
|
||||
"docs/**",
|
||||
"hooks/**",
|
||||
"Makefile",
|
||||
"cliff.toml",
|
||||
".pre-commit-config.yaml",
|
||||
".env.example",
|
||||
".gitignore",
|
||||
".ruff.toml",
|
||||
"AGENTS.md",
|
||||
"README.md",
|
||||
"CHANGELOG.md",
|
||||
"TROUBLESHOOTING.md",
|
||||
".ansible-lint",
|
||||
".github/**",
|
||||
]
|
||||
|
||||
# Infrastructure overrides — files that would default to user-facing
|
||||
# but are actually infrastructure:
|
||||
# - __init__.py: only contains __version__ (release artifact, not code)
|
||||
# - api_clients.py: used only by CI/CD scripts, not by the CLI
|
||||
infrastructure_overrides = [
|
||||
"src/devx/__init__.py",
|
||||
"src/devx/api_clients.py",
|
||||
]
|
||||
|
||||
# User-facing overrides — safety override for broad infrastructure patterns
|
||||
# (empty — add when an infrastructure pattern is too broad)
|
||||
user_facing_overrides = []
|
||||
|
||||
# Tag patterns — additional categories for CI conditional execution
|
||||
# Orthogonal to release impact (user-facing vs infrastructure)
|
||||
[tool.devx.classify.tags]
|
||||
ansible = ["ansible/**", ".ansible-lint"]
|
||||
|
||||
Reference in New Issue
Block a user