Je viens de modifier les paramètres de branche sur mon référentiel GitHub, de sorte que ma [prochaine] branche nécessite une construction CI en passant par une demande d'extraction.
Une discussion s'ensuit avec un certain nombre de membres de l'équipe sur l'échec des tests.
Par souci de contexte ...
Le référentiel a une branche [master] qui n'est PR que lorsqu'il y a une version, donc [master] contient le code de la dernière version, qu'il s'agisse d'une version majeure, mineure, d'un correctif, d'une version bêta, alpha / version préliminaire.
La branche [suivante] est la branche "par défaut", où nous avons l' intention de conserver le code "prêt pour la publication"; techniquement, cette branche peut être insérée dans [master] à tout moment et libérée.
Les fourches individuelles ont leurs propres succursales de développement et les contributeurs PR à [suivant].
Lorsque je passe en revue un PR non trivial, je fusionne la branche de développement du contributeur dans ma branche "Review", et si je vois des choses que je peux résoudre rapidement, je valide / pousse les modifications et les nouveaux tests (parfois échouant), et PR de retour dans la branche de développement du contributeur; quand ils fusionnent mes modifications, font passer les nouveaux tests qui échouent, puis poussent, leur PR se synchronise, puis je fusionne le PR dans [suivant].
Mais cette question ne concerne pas la réussite des tests, elle concerne les échecs .
Les tests manquants documentent ce qui doit être corrigé.
Les bogues connus devraient avoir des tests écrits pour que nous sachions ce qui ne fonctionne pas.
Techniquement, la liste des problèmes GitHub (filtrée pour les étiquettes de bogues et / ou critiques ) le fait aussi. Est-ce une bonne pratique d' avoir également un tas de tests qui échouent pour documenter les bogues?
Un build échoué sur [suivant] signifierait que nous ne sommes pas prêts à sortir ... mais alors "être prêt à sortir" est un peu comme "être prêt" à avoir des enfants - vous n'êtes jamais tout à fait prêt pour cela, et quelque chose, quelque part (d'importance variable) ira inévitablement mal avec la version.
Nous ne faisons donc que pousser les tests de réussite à [suivant]. Où pousser les tests qui échouent alors? Je veux dire, en dehors du processus PR / examen?
Par exemple, un utilisateur signale un nouveau bogue dans la liste des problèmes, et j'aimerais lui écrire une suite de tests défaillante - afin de spécifier ce qui doit être fait et où, ce qui facilite la tâche des nouveaux contributeurs. et finalement PR un correctif.
Où dois-je pousser ces tests qui échouent? Ou est-ce même une bonne idée de pousser les tests ayant échoué n'importe où?