Je pense qu'il faut tout simplement tuer la dev maintenant et la recréer lorsqu'on aura atteint la v1.0 et qu'on ne sera donc plus en freeze.
A ma connaissance on ne peut pas, parce qu'on a des développements qui ont été faits sur cette dev.
Qu'appelle t-on PR géante ? plus de 10 commit ? plus de 5 fichiers modifiés ? delta (ligne ajoutées - lignes supprimée) > 100 ? Étant donné que ça me semble assez subjectif, il faudrait clairement expliciter ce point.
On ne peut pas mettre de métriques ici, c'est à voir au cas par cas. Les PR problématiques, c'est celles qui touchent plusieurs tickets qui ne sont pas forcément liés, celles qui touchent à plusieurs morceaux indépendants de l'application.
Pour faire encore plus clair : ce que je ne veux plus voir, c'est une PR qui dit "J'ai fait A, et tant que j'y étais j'ai corrigé le bug B".
A expliciter encore mieux. Car il me semble qu'aujourd'hui les tests joue le rôle de QA légère. Et j'aurai tendance à dire, quitte à faire de la QA légère autant se concentrer sur l'écriture de test. Pour moi donc, faire de la QA légère signifierai juste valider que le développeur à écrit un test qui couvre la fonctionnalité qu'il a codé et que travis ne gueule pas.
Pour tous les cas où un test est faisable, ça me paraît bien, et ça nous oblige à faire des tests (ce qu'on ne fait pas aujourd'hui).
Pour les cas non testables automatiquement, il s'agit de vérifier que ce qui a été développé fonctionne. Pour les effets de bord et autres, c'est l'objet de la vraie QA sur la préprod.
On ne peut pas tantpiriser ici. Pour moi, ne pas remonter une correction vers la dev, c'est la porte d'entrée aux conflits le jour du merge. On se retrouve avec des cas batards, ou tout ceux qui essayent de bosser à partir de la branche dev, doivent se manger les bugs qui sont pourtant fixés dans la branche de release, mais qui ne sont pas remontés.
En fait, si. Toute l'astuce qui permet le fonctionnement de ma proposition est là.
Aujourd'hui, notre problème c'est qu'on ne peut pas faire remonter les corrections au fur et à mesure parce que c'est un boulot de dingue.
Le principe ici c'est qu'on part d'une branche de dev à peu près stable et que le processus de release est court.
Donc oui, les gens qui bossent sur dev se prennent les bugs qui sont fixés sur la release. Tant pis. Pourquoi "tant pis" et surtout pourquoi ce n'est pas gênant ?
- Parce que comme la branche de dev reste normalement à peu près stable (grâce à la QA légère avant d'introduire une fonctionnalité) les bugs "fixés sur la release" ne devraient pas être critiques (on a les hotfix pour les bugs critiques qui ont réussi à aller en prod).
- Parce que dans le pire des cas la correction sera remontée sous deux semaines, ce qui est la durée de vie maximale de la branche de release. Si elle dure trop longtemps parce qu'elle n'était pas prête et trop bugguée, il suffit de l'annuler en remontant toutes les corrections faites vers le dev, et de ne jamais la mettre en prod.