refonte(pc-mirror) : le signalement de la forge passe en bash #14

Merged
foXaCe merged 1 commit from refonte/signalement-bash into main 2026-10-17 15:56:28 +02:00
Collaborator

Ce que fait cette branche

deploy/signalement.py devient deploy/signalement.sh : la livraison ne porte
plus une ligne de Python. curl fait les appels, jq lit les réponses — exigé au
démarrage, pour le dire tout de suite plutôt que d'échouer sur un JSON illisible.

Le contrat ne bouge pas : mêmes arguments, mêmes messages, mêmes codes de
sortie. Les trois appels de livraison.yml et les quatre de l'essai à blanc sont
réécrits à l'identique.

L'essai à blanc gagne ce qui manquait

Un faux curl tient la place de la forge et note chaque appel. On vérifie donc,
sans réseau et sans créer d'issue :

  • l'ouverture de l'issue à l'échec, avec téléversement de la capture ;
  • le commentaire qui raconte l'échec ;
  • la fermeture de l'issue au succès suivant ;
  • le refus quand aucun jeton n'est là — et le fait qu'une lecture seule
    n'ouvre rien.

Deux défauts trouvés en chemin, réparés ici

Le pas shellcheck de la CI ne servait à rien. L'outil n'est pas installé sur
l'exécutant, donc l'étape était sautée — et elle aurait échoué : main porte sept
avertissements (cinq SC2155 sur des local x="$(…)" qui masquent un code de
retour, deux SC1112 sur l'apostrophe typographique, voulue). Corrigés, et
deploy/signalement.sh rejoint la liste contrôlée. Le jour où shellcheck est
installé, le pas juge pour de vrai.

L'essai à blanc échouait pour tout compte autre que stephane. Le garde-fou
de la cible « pc » jugeait /home/stephane — le chemin réel — au lieu de
${RACINE_BAC}${MAISON}, celui où la livraison écrit. Le job « Livraison » est
donc rouge depuis la pose chez l'opérateur, et personne ne le voyait. Corrigé, et
l'essai porte maintenant un cas qui verrouille ce garde-fou.

Vérifications

  • 52 essais verts dans l'essai à blanc (39 avant), dont les dix nouveaux sur
    les appels à la forge.
  • shellcheck -S warning muet sur les cinq scripts de livraison.
  • bash -n propre sur les quatre scripts touchés.

À savoir

jq devient une dépendance de l'exécutant (pacman -S jq). Elle est notée dans
le guide de migration du poste.

## Ce que fait cette branche `deploy/signalement.py` devient **`deploy/signalement.sh`** : la livraison ne porte plus une ligne de Python. `curl` fait les appels, `jq` lit les réponses — exigé au démarrage, pour le dire tout de suite plutôt que d'échouer sur un JSON illisible. **Le contrat ne bouge pas** : mêmes arguments, mêmes messages, mêmes codes de sortie. Les trois appels de `livraison.yml` et les quatre de l'essai à blanc sont réécrits à l'identique. ### L'essai à blanc gagne ce qui manquait Un faux `curl` tient la place de la forge et note chaque appel. On vérifie donc, sans réseau et sans créer d'issue : - l'ouverture de l'issue à l'échec, avec téléversement de la capture ; - le commentaire qui raconte l'échec ; - la fermeture de l'issue au succès suivant ; - le refus quand aucun jeton n'est là — et le fait qu'une lecture seule n'ouvre rien. ### Deux défauts trouvés en chemin, réparés ici **Le pas `shellcheck` de la CI ne servait à rien.** L'outil n'est pas installé sur l'exécutant, donc l'étape était sautée — et elle aurait échoué : `main` porte sept avertissements (cinq `SC2155` sur des `local x="$(…)"` qui masquent un code de retour, deux `SC1112` sur l'apostrophe typographique, voulue). Corrigés, et `deploy/signalement.sh` rejoint la liste contrôlée. Le jour où shellcheck est installé, le pas juge pour de vrai. **L'essai à blanc échouait pour tout compte autre que `stephane`.** Le garde-fou de la cible « pc » jugeait `/home/stephane` — le chemin réel — au lieu de `${RACINE_BAC}${MAISON}`, celui où la livraison écrit. Le job « Livraison » est donc rouge depuis la pose chez l'opérateur, et personne ne le voyait. Corrigé, et l'essai porte maintenant un cas qui verrouille ce garde-fou. ## Vérifications - **52 essais verts** dans l'essai à blanc (39 avant), dont les dix nouveaux sur les appels à la forge. - `shellcheck -S warning` muet sur les cinq scripts de livraison. - `bash -n` propre sur les quatre scripts touchés. ## À savoir `jq` devient une dépendance de l'exécutant (`pacman -S jq`). Elle est notée dans le guide de migration du poste.
refonte(pc-mirror) : le signalement de la forge passe en bash
Some checks failed
Contrôles des références / Références du comportement (pull_request) Successful in 3s
Contrôles des références / Crate pcmirror (formatage, Clippy, tests) (pull_request) Failing after 43s
Contrôles des références / Livraison (style des scripts, essai à blanc) (pull_request) Successful in 1s
Contrôles des références / Front d'état (types, lint, format, tests, build, bout en bout) (pull_request) Successful in 25s
75cf3fc46e
`deploy/signalement.py` devient `deploy/signalement.sh` : plus une ligne de
Python dans la livraison. `curl` fait les appels, `jq` lit les réponses — exigé
au démarrage, plutôt qu'un JSON illisible découvert en route.

Le contrat ne bouge pas : mêmes arguments, mêmes messages, mêmes codes de
sortie. Les trois appels de `livraison.yml` et les quatre de l'essai à blanc
sont réécrits à l'identique.

L'essai gagne ce qui manquait : un faux `curl` tient la place de la forge et
note chaque appel. On vérifie donc l'ouverture de l'issue, le téléversement de
la capture, le commentaire, la fermeture au succès suivant, et le refus quand
aucun jeton n'est là — sans réseau, sans créer d'issue.

Deux défauts trouvés en chemin, réparés ici :

* le pas `shellcheck` de la CI ne servait à rien : l'outil n'est pas installé
  sur l'exécutant, donc l'étape était sautée — et elle aurait échoué, `main`
  portant sept avertissements (cinq SC2155, deux SC1112). Corrigés, et
  `deploy/signalement.sh` rejoint la liste contrôlée ;
* l'essai à blanc échouait pour tout compte autre que `stephane` : le
  garde-fou de la cible « pc » jugeait `/home/stephane`, le chemin réel, au lieu
  de `${RACINE_BAC}${MAISON}`, celui où la livraison écrit. Le job repartait
  donc rouge depuis la pose chez l'opérateur. Corrigé, et l'essai porte
  maintenant un cas qui verrouille ce garde-fou.

Vérifié : 52 essais verts (contre 39), shellcheck muet sur les cinq scripts.
Collaborator

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é.

`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é.
foXaCe merged commit 1cca4a95da into main 2026-10-17 15:56:28 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
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
foXaCe/pc-mirror!14
No description provided.