Add secret scanning, Dockerfile lint, ruff lint/format gate, coverage gate, and automatic CVE remediation PRs

- gitleaks (via docker cp, dockerignore-agnostic) and hadolint scan every push/PR
- new ruff lint stage (ruff.toml pins known-first-party for host/container
  consistency; B905 in env_config.py's zip() left un-fixed — app-logic change,
  see feedback-no-app-logic-changes)
- pytest --cov-fail-under=75 gate on the test stage
- scheduled Trivy critical failures now attempt an apk upgrade rebuild and open a PR
  if it clears the finding, instead of just failing red
- ruff --fix/--format applied to existing code to start the gate clean
This commit is contained in:
Djeex
2026-08-26 14:49:38 +02:00
parent d6cf5bb41f
commit 30c9b83c17
10 changed files with 316 additions and 132 deletions
+13
View File
@@ -0,0 +1,13 @@
line-length = 100
[lint]
select = ["E", "F", "I", "UP", "B"]
# E501: handled by the formatter. B905: zip() without strict= in env_config.py —
# app-logic change, left for the user to decide (see feedback-no-app-logic-changes).
ignore = ["E501", "B905"]
[lint.isort]
# Pinned explicitly: auto-detection of first-party modules differs between the
# host (app/ subdir + .git present) and the Docker lint stage (flattened to /app,
# no .git) — without this, import-sort results silently diverge between the two.
known-first-party = ["env_config", "gpu_checker", "notifier", "main"]