freedzhost.cloud

D'un mail à une demande de fusion : l'étiquette go

Les idées arrivent n'importe où : en marchant, dans une salle d'attente. Vous vous envoyez un mail. Le lendemain matin, c'est une issue sur votre forge, bien rédigée, étiquetée, qui attend. Vous la lisez, vous posez l'étiquette go depuis votre téléphone, et un agent fait le travail. Vous lisez la demande de fusion et vous fusionnez.

Ce que vous y gagnez. Une file de travail alimentée par votre boîte mail et vidée par des agents locaux, avec un seul geste humain au milieu. Chaque issue se suit elle-même jusqu'au bout : demande de fusion liée, issue fermée à la fusion, un signal « besoin d'un humain » quand quelque chose échoue.

1. Le mail devient une issue, et attend

2. Une étiquette lance le travail

Seule une issue étiquetée go est du travail. Un petit ouvrier passe toutes les cinq minutes, prend une issue, et seulement si un modèle est réellement chargé sur une carte :

  1. il l'étiquette en cours et retire go ;
  2. il confie le titre et le corps à l'agent de code, qui ouvre une demande de fusion ;
  3. il commente l'identifiant du run sur l'issue.

Chaque passage suivant suit le run : demande de fusion liée, issue fermée quand elle fusionne, étiquette needs-human et un commentaire quand le run ou la demande de fusion échoue. Une tâche trop large pour l'agent reçoit needs-split.

La règle qui rend le tout sûr : aucun code ne pose jamais l'étiquette go. Seul votre compte, depuis votre téléphone ou la forge, le peut. Un test vérifie qu'aucun script du dépôt ne la pose.

3. Écrire la tâche pour un petit modèle

Pièges

La recherche d'issues de notre forge ignorait un filtre d'étiquette quand aucun dépôt ne portait encore cette étiquette, et renvoyait tout. Revérifiez vous-même l'étiquette de chaque résultat avant d'agir.

Ne lancez pas l'ouvrier quand aucun modèle n'est chargé : un run sur une carte vide échoue au bout de plusieurs minutes et encombre l'issue. Interrogez la grille GPU d'abord.

Utile ? Dites-nous ce qu'il faut mesurer ensuite.