TECH: Refonte CI — workflows natifs multi-jobs parallèles (suppression du monolithe ci-full templates) #129

Closed
opened 2026-08-14 19:25:13 +02:00 by nonobis · 0 comments
Owner

Contexte

La CI actuelle délègue tout à l'action composite monolithe ci-full de nonobis/templates (672 lignes) : build → tests → Sonar → Docker → Trivy → Dependency-Check dans UN SEUL job, en série. Le runner act/forgejo met en cache les actions composites par URL (~/.cache/act keyé par sha256, jamais invalidé — issue forgejo/runner #1663) : les échecs CI récurrents d'août 2026 (ancien contenu exécuté malgré les pushs) viennent de là.

Objectif

  • Supprimer la CI monolithe et la refaire de zéro en workflows natifs dans le repo (steps 100% inline, zéro action composite maison)
  • Multi-workflows / jobs parallèles : un job par domaine (build, tests unitaires, bUnit, tests DB, Sonar, Docker+Trivy, Dependency-Check) → parallélisme réel sur les 3 runners et erreurs visibles par job dans l'UI
  • Conserver toutes les fonctionnalités : GitVersion, PostgreSQL, gate SonarQube bloquant, Trivy bloquant, Dependency-Check bloquant + cache NVD, commentaires PR (résumé tests + CVE), images de test pr-<N>, release double cycle (central/agent), renovate

Changements

  • .forgejo/workflows/ci.yml : 8 jobs parallèles inline
  • .forgejo/workflows/release.yml : 2 cycles release inline (v* / agent-v*)
  • scripts/ci/ : utilitaires (résumé tests, commentaires PR, rapports CVE, injection Infisical, notes de release)
  • renovate.yml inchangé (dernière dépendance templates — RENOVATE_TOKEN via Vault)

Liens

  • Refs #125 (référencement ci-full tagué — obsolète après cette refonte)
  • Refs #104 (migration secrets Vault → Infisical — la nouvelle CI utilise Infisical)
  • Refs #101 (SonarQube gate — conservé en bloquant)
## Contexte La CI actuelle délègue tout à l'action composite monolithe `ci-full` de `nonobis/templates` (672 lignes) : build → tests → Sonar → Docker → Trivy → Dependency-Check dans UN SEUL job, en série. Le runner act/forgejo met en cache les actions composites par URL (`~/.cache/act` keyé par sha256, jamais invalidé — issue forgejo/runner #1663) : les échecs CI récurrents d'août 2026 (ancien contenu exécuté malgré les pushs) viennent de là. ## Objectif - Supprimer la CI monolithe et la refaire de zéro en **workflows natifs** dans le repo (steps 100% inline, zéro action composite maison) - **Multi-workflows / jobs parallèles** : un job par domaine (build, tests unitaires, bUnit, tests DB, Sonar, Docker+Trivy, Dependency-Check) → parallélisme réel sur les 3 runners et erreurs visibles par job dans l'UI - Conserver **toutes les fonctionnalités** : GitVersion, PostgreSQL, gate SonarQube bloquant, Trivy bloquant, Dependency-Check bloquant + cache NVD, commentaires PR (résumé tests + CVE), images de test `pr-<N>`, release double cycle (central/agent), renovate ## Changements - `.forgejo/workflows/ci.yml` : 8 jobs parallèles inline - `.forgejo/workflows/release.yml` : 2 cycles release inline (v* / agent-v*) - `scripts/ci/` : utilitaires (résumé tests, commentaires PR, rapports CVE, injection Infisical, notes de release) - renovate.yml inchangé (dernière dépendance templates — RENOVATE_TOKEN via Vault) ## Liens - Refs #125 (référencement ci-full tagué — obsolète après cette refonte) - Refs #104 (migration secrets Vault → Infisical — la nouvelle CI utilise Infisical) - Refs #101 (SonarQube gate — conservé en bloquant)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
nonobis/Heimdall#129
No description provided.