Some checks failed
Qualité & Sécurité / MegaLinter (PMD · Ruff · Bandit · gitleaks · hadolint) (push) Successful in 1m9s
Build & Push Images / build (brain) (push) Successful in 1m10s
Qualité & Sécurité / Trivy (CVE dépendances Maven / pip / npm) (push) Failing after 2m36s
Build & Push Images / build (web) (push) Successful in 1m48s
Build & Push Images / build-switcher (push) Successful in 20s
Build & Push Images / build (core) (push) Successful in 3m9s
Qualité & Sécurité / Web (ESLint · angular-eslint + sonarjs) (push) Successful in 38s
CI (Gitea Actions) : - Nouveau workflow quality.yml (séparé de ci.yml, non bloquant pour la release) : MegaLinter v9 (PMD, Ruff, Bandit, gitleaks, hadolint), ng lint (web) et Trivy (CVE des dépendances Maven/pip/npm), sur main + beta + PR - Trivy : préchargement du cache Maven avant le scan — sans ça Maven Central rate-limite l'IP du runner (429) en résolvant les BOMs du parent Spring Boot - upload-artifact v4 → v3 : l'API artifacts v4 n'est pas supportée par Gitea (corrige aussi l'upload du rapport Playwright de e2e.yml, cassé depuis toujours) - Ruleset PMD projet (java-pmd-ruleset.xml, auto-détecté par MegaLinter) orienté bugs réels, sans le style Lombok-hostile du défaut : 11 337 → 65 findings ; PMD en mode rapport (JAVA_PMD_DISABLE_ERRORS) le temps de purger ce backlog Web : - angular-eslint 21 + eslint-plugin-sonarjs : les règles Sonar vivent désormais dans ESLint (config web/eslint.config.js, réglages justifiés en commentaire) - tsconfig : skipLibCheck + types:[] + node_modules ré-exclu — répare les builds desktop Windows/Linux cassés par le conflit @types/eslint-scope vs ESLint 9 - Purge du backlog lint : 114 erreurs → 0 sur 66 fichiers (ngOnDestroy vides supprimés, any typés avec les vrais DTOs, outputs (close) → (closed), regex super-linéaires désamorcées, ternaires/fonctions imbriqués dépliés, intention documentée sur les catch/error volontairement vides) - Bug latent corrigé au passage : license.service.disconnect() émettait undefined au lieu de true en cas de succès (masqué par un double cast)
44 lines
2.0 KiB
YAML
44 lines
2.0 KiB
YAML
# Configuration MegaLinter — https://megalinter.io/latest/config-file/
|
|
#
|
|
# Périmètre volontairement resserré (liste ENABLE_LINTERS exclusive) : on
|
|
# active les linters au fil de l'eau plutôt que de subir les ~100 par défaut.
|
|
# Le scan CVE des dépendances n'est PAS ici : il est porté par le job Trivy
|
|
# (cf. .gitea/workflows/quality.yml).
|
|
|
|
APPLY_FIXES: none
|
|
DEFAULT_BRANCH: main
|
|
SHOW_ELAPSED_TIME: true
|
|
PRINT_ALPACA: false
|
|
|
|
# Liste EXCLUSIVE : tout linter absent d'ici est désactivé.
|
|
ENABLE_LINTERS:
|
|
# --- core (Java) : bugs + code smells "à la Sonar" sur les sources.
|
|
# (Sonar for IDE reste pertinent en local pour l'analyse de flux fine.)
|
|
- JAVA_PMD
|
|
# --- brain (Python) ---
|
|
- PYTHON_RUFF # remplace flake8/pylint/isort, très rapide
|
|
- PYTHON_BANDIT # sécurité du code Python
|
|
# - PYTHON_MYPY # à activer quand le brain aura des annotations de types
|
|
# --- repo entier ---
|
|
- REPOSITORY_GITLEAKS # secrets committés (tokens, mots de passe…)
|
|
- DOCKERFILE_HADOLINT # bonnes pratiques Dockerfile
|
|
# --- web (TypeScript) : PAS via MegaLinter. Le lint tourne avec la
|
|
# toolchain du projet (job "web-lint" de quality.yml → ng lint,
|
|
# config web/eslint.config.js avec angular-eslint + sonarjs).
|
|
|
|
# Jamais d'analyse des artefacts de build, dépendances et sites docs.
|
|
FILTER_REGEX_EXCLUDE: '(^|/)(node_modules|target|dist|coverage|\.angular|\.mvn|docusaurus)/'
|
|
|
|
# Rapports déposés là où le workflow les publie en artefact CI.
|
|
REPORT_OUTPUT_FOLDER: megalinter-reports
|
|
|
|
# Phase de rodage : passer temporairement à true pour rendre le job
|
|
# informatif (rapport sans échec CI) le temps de purger l'existant.
|
|
DISABLE_ERRORS: false
|
|
|
|
# PMD : ruleset projet à la racine (java-pmd-ruleset.xml, détecté
|
|
# automatiquement) — orienté bugs réels, sans style. Non-bloquant le temps
|
|
# de purger le backlog (~65 findings : PreserveStackTrace, EmptyCatchBlock,
|
|
# CheckResultSet, RelianceOnDefaultCharset…). Repasser à false ensuite.
|
|
JAVA_PMD_DISABLE_ERRORS: true
|