perf(ci-rust): n'interroge apt que si un paquet manque vraiment - #197
Merged
Conversation
L'étape téléchargeait 32 Mo de listes pour n'installer aucun paquet quand l'image du runner les portait déjà; un run observé y a passé 29 minutes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Observé sur FerrFleet-Cloud aujourd'hui, mais le défaut est ici et concerne tout dépôt Rust qui passe
apt-packages— FerrVault et consorts envoient les trois mêmes.29 minutes pour installer zéro paquet. L'image des runners self-hosted porte ces paquets ; l'étape ne faisait que télécharger des listes pour conclure qu'elle n'avait rien à faire.
Le correctif
dpkg -sd'abord, sortie immédiate si tout est présent, et sinon on n'installe que ce qui manque réellement. Appliqué aux quatre occurrences de l'étape.C'est exactement le motif que suit déjà l'étape
Install postgresql-clientjuste à côté (command -v createdbpuis sortie) — donc l'intention existait, elle n'avait simplement pas été portée ici.Au passage, les trois occurrences qui interpolaient
${{ inputs.apt-packages }}directement dans lerunpassent parenv:, comme le faisait déjà la quatrième.Le débit, séparément
18,4 ko/s reste anormal. Mesuré depuis le nœud : 53 Mo/s vers github.com, 637 ko/s vers archive.ubuntu.com. Le pod a donc obtenu 35× moins que son hôte sur la même destination — un problème d'egress des pods que cette PR ne résout pas, mais dont elle supprime l'exposition sur ce chemin.
Portée
Les dépôts épinglent ce workflow par SHA ; le changement ne se propagera qu'au rythme de Renovate, dépôt par dépôt.