CI : l'étape rsync ne casse plus le pipeline (SIGPIPE 141) #8
Loading…
Reference in a new issue
No description provided.
Delete branch "hermes/pcmirror-ci-rsync"
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?
Diagnostic : rsync est présent sur l'exécutant (
/usr/bin/rsync, v3.5.1). La panne n'est pas l'absence de rsync mais un SIGPIPE (141) provoqué parrsync --version | sed -n 1psousset -euo pipefail:sedsort après la première ligne,rsyncreçoit SIGPIPE,pipefailremonte 141. Correctif : capturer la sortie dans une variable puis afficher la première ligne, sans pipe fermé prématurément.Second correctif, tout aussi nécessaire : le test de verrou
un_enfant_forke_retient_le_verrou_apres_l_abandon_du_parentdépendait du planificateur (usleep), et son remplacement par unforkavec tube de synchronisation dépendait de la sémantique deflocksur la description de fichier partagée. Remplacé par deux tests unitaires déterministes, sansforkni processus externe.Ces deux correctifs manquaient à
main— vérifié :mainportait encorersync --version | sed -n 1pet l'ancien test aufork. C'est ce qui a fait repasserCrate pcmirrorau rouge à 14:10 après un passage vert à 14:06.Fusion propre (essai local : aucun conflit). Tests : 192 verts, clippy et fmt verts.
fusion-auto: pas de fusion, la CI est rouge (Crate pcmirror). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.c2454fe72566b5d467fbfusion-auto: pas de fusion, la CI est rouge (Crate pcmirror). Le chef de l'atelier renvoie la carte à l'agent ; l'étiquette tombera d'elle-même une fois corrigé.