feat(ci-node): robot de mise à jour des outils, chaque lundi #2

Merged
eric merged 1 commit from feat/mise-a-jour-outils into master 2026-10-21 14:30:56 +00:00
Owner

Les versions des outils de ci-node ne bougeaient que si quelqu'un les changeait à la main. Ce robot les surveille.

  • ci-node/mise-a-jour.py (bibliothèque standard seulement, tourne dans ci-node) : pour trivy, gitleaks, buildx (releases GitHub), semgrep (PyPI) et le client docker (index des binaires statiques), garde la version stable la plus récente publiée depuis 7 jours au moins, relève son sha256 dans le fichier de checksums officiel (calculé sur l'archive pour docker, qui n'en publie pas), réécrit le Dockerfile et passe VERSION au patch suivant. Jamais de retour en arrière.
  • mise-a-jour.yml : chaque lundi à 6 h (Paris), lance le script et, s'il y a du nouveau, ouvre une PR auto/ci-node-<version> dont le corps liste les montées. Le CI de la PR reconstruit et vérifie l'image ; le merge reste à Eric. Alerte Discord si le script échoue.
  • ci-node.yml lance aussi les tests du script.

Tests : ci-node/test_mise_a_jour.py, 10 cas (quarantaine, version trop récente, pas de retour en arrière, tri semver, préversions ignorées, réécriture d'un seul ARG, ARG absent, patch suivant, lecture de l'index docker). Les appels réseau ne sont pas testés unitairement : essayé à blanc contre les vraies sources, il trouve aujourd'hui trivy 0.76.0, gitleaks 8.30.1, buildx 0.38.0 et docker 29.9.0 (les runners ont déjà Docker 29.6 et 29.9). Ces montées viendront dans la première PR du robot, pas dans celle-ci.

Les versions des outils de ci-node ne bougeaient que si quelqu'un les changeait à la main. Ce robot les surveille. - `ci-node/mise-a-jour.py` (bibliothèque standard seulement, tourne dans ci-node) : pour trivy, gitleaks, buildx (releases GitHub), semgrep (PyPI) et le client docker (index des binaires statiques), garde la version stable la plus récente **publiée depuis 7 jours au moins**, relève son sha256 dans le fichier de checksums officiel (calculé sur l'archive pour docker, qui n'en publie pas), réécrit le Dockerfile et passe `VERSION` au patch suivant. Jamais de retour en arrière. - `mise-a-jour.yml` : chaque lundi à 6 h (Paris), lance le script et, s'il y a du nouveau, ouvre une PR `auto/ci-node-<version>` dont le corps liste les montées. Le CI de la PR reconstruit et vérifie l'image ; le merge reste à Eric. Alerte Discord si le script échoue. - `ci-node.yml` lance aussi les tests du script. Tests : `ci-node/test_mise_a_jour.py`, 10 cas (quarantaine, version trop récente, pas de retour en arrière, tri semver, préversions ignorées, réécriture d'un seul ARG, ARG absent, patch suivant, lecture de l'index docker). Les appels réseau ne sont pas testés unitairement : essayé à blanc contre les vraies sources, il trouve aujourd'hui trivy 0.76.0, gitleaks 8.30.1, buildx 0.38.0 et docker 29.9.0 (les runners ont déjà Docker 29.6 et 29.9). Ces montées viendront dans la première PR du robot, pas dans celle-ci.
feat(ci-node): robot de mise à jour des outils, chaque lundi
All checks were successful
ci-node / image (pull_request) Successful in 1m52s
ci-node / notify-failure (pull_request) Has been skipped
d3e44268c0
eric merged commit 0480951984 into master 2026-10-21 14:30:56 +00:00
eric deleted branch feat/mise-a-jour-outils 2026-10-21 14:30:57 +00:00
Sign in to join this conversation.
No reviewers
No labels
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
eric/ci-workflows!2
No description provided.