outillage: la chaîne ne réinstalle plus trois fois la même chose (#133) #134
No reviewers
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!134
Loading…
Reference in a new issue
No description provided.
Delete branch "lenaic/40-ci-plus-rapide"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ce que ça change
La chaîne réinstallait quatre fois
apt, trois fois l'outillage Python sur la même image épinglée, et deux fois les dépendances npm du même projet, sans aucun cache. Les trois jobs Python n'en font plus qu'un, les deux jobs npm également, et deux caches sont ajoutés.Aucune étape n'est perdue ni réécrite : elles gardent leurs commandes, leurs gardes et leurs commentaires. Seul le préambule est mutualisé, et l'ordre revu pour que le format et le typage échouent en premier.
Closes #133
Preuve
La durée réelle est à lire sur l'exécution de cette demande, puis sur la suivante une fois le cache amorcé : le premier passage remplit le cache, il ne le lit pas.
Relecture
Où regarder en priorité
Le point à trancher. « Tableau de bord » passait par
actions/setup-nodeavec node 24, alors que « Dépendances du tableau de bord » épinglait son image en 22.18. Deux avis coexistaient dans le fichier. J'ai retenu l'image épinglée par empreinte, qui respecte notre propre règle sur les images, et les deux versions satisfont le champenginesdepackage.json. Les tests unitaires du tableau de bord tournent donc maintenant sur node 22.18 au lieu de 24. Si l'équipe préfère 24, c'est une imagenode:24épinglée qu'il faut mettre, pas un retour àsetup-node.La sûreté vis-à-vis de la protection de branche. Le contrôle obligatoire est
Intégration / *, un joker : j'ai vérifié dans l'API avant de toucher au fichier. Aucun nom de job n'y est figé, donc les fusions et les renommages ne peuvent pas bloquer une demande. C'est aussi la raison pour laquelle je n'ai pas ajouté depaths-ignore: un workflow qui ne se joue pas ne rapporte aucun contrôle, et le joker n'a alors rien à quoi se raccrocher. Le détail est dans le #133.Le renommage du job
images. Il accueillait déjà trois cas d'essai qui ne parlaient pas d'images. « Contrôles statiques du dépôt » décrit ce qu'il est devenu, et c'est là que le contrôle des liens est posé, pour ne pas payer un démarrage de conteneur de plus.Une chose que je n'ai pas touchée. Plusieurs noms d'étapes finissent par
(ticket #77)sans guillemets : YAML lit#77)comme un commentaire et le nom affiché est tronqué. C'est cosmétique, ça préexiste, et le corriger aurait ajouté du bruit à un diff déjà large. À faire dans un passage dédié si ça vous gêne dans les journaux.