CI/CD hardening: lint, secret scan, coverage gate, auto CVE-fix PRs, GHCR + GitHub mirror publishing #32

Merged
Djeex merged 3 commits from dev-cicd into main 2026-08-26 15:43:41 +02:00
3 Commits
Author SHA1 Message Date
Djeex 25e5a2e126 Publish images to GHCR and releases to the GitHub mirror
CI / build-and-scan (pull_request) Successful in 58s
- retag+push the same :latest/:X.Y/:X.Y.Z tags to ghcr.io/djeex/nvidia-stock-bot
- create a matching GitHub Release on the Djeex/nvidia-stock-bot mirror, same changelog
  body prefixed with a notice pointing back to the git.djeex.fr source repo
- targets the exact commit SHA (not the branch) with retries, since the
  Gitea->GitHub push mirror can lag behind this job
- requires a new GH_TOKEN secret (repo + write:packages) — not created yet
- first GHCR push per repo will be private by default; GitHub has no API to
  default it public for a personal account, needs a one-time manual toggle
2026-08-26 15:04:28 +02:00
Djeex 30c9b83c17 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
2026-08-26 14:49:38 +02:00
Djeex d6cf5bb41f Simplify release changelog: commits as description (link), drop divider lines 2026-08-26 13:54:24 +02:00