Guide pour faire des contributions à Github DS par l'Adullact
- proposition à débattre et améliorer
- on range cette documentation où ?
- à re-factoriser, car:
- la CI sur le GitHub adullact est maintenant désactivée pour permettre à la CI de GitHub betagouv de tourner sur les PR faites à partir du GitHub adullact
- le rebase par l'équipe DS n'est pas possible pour les PR faites à partir du GitHub adullact
Ressources
- PR déjà créées par l'Adullact sur GitHub betagouv
- Issues déjà créées par l'Adullact sur GitHub betagouv
- Tag de suivi des contributions sur GitHub adullact
Principes
- Faire des issues et des PRs propres et documentées sur GitHub betagouv
- Idéalement, toujours placer le mot "Adullact" dans le descriptif ou dans un commentaire d'une issue ou d'une PR faite sur GitHub betagouv, afin de faciliter les recherches des contributions Adullact.
- Être réactif et constructif aux discussions et propositions sur les issues et les PRs
- Ne pas pousser directement des commits sur une branche qui sert de support à une PR sur GitHub betagouv, mais utiliser une branche temporaire pour valider la CI sur GitHub adullact.
Guide pour faire des contributions à Github DS par l'Adullact
- Préparation de la contribution
- en local créer une branche POC_ (exemple:
POC_new-feature
,POC_fix-bug
)- idéalement 1 seul commit
- sauf si plusieurs commits permettent de mieux comprendre les modifications
- pousser cette branche sur GitHub adullact/demarches-simplifiees.fr
- vérifier que la CI CircleCI passe au vert (build, lint, tests) pour cette nouvelle branche
- une relecture par une autre personne de l'équipe Adullact est conseillée
- en local créer une branche POC_ (exemple:
- Contribution
- Ouvrir une issue sur GitHub betagouv/demarches-simplifiees.fr en ce basant sur les issues déjà créées par l'Adullact
- en local, créer une 2ème branche sur le dernier commit de votre branche POC_ :
- format
<id_issue>_<explicite-name>
(exemple:5440_allow_to_disable_FranceConnect
)
- format
- modifier le message de commit pour rajouter la référence à l'issue
- pousser cette branche 2ème branche sur GitHub adullact/demarches-simplifiees.fr
- vérifier que la CI CircleCI passe au vert (build, lint, tests) pour cette nouvelle branche
- Créer une PR sur GitHub betagouv/demarches-simplifiees.fr en ce basant sur les PR déjà créées par l'Adullact
- Suivi de la contribution
- supprimer votre branche POC_ (en local et sur le GitHub adullact)
- Créer une PR sur GitHub adullact/demarches-simplifiees.fr pour permettre un suivi des contributions Adullact. On y ajoutera les liens vers l'issue et la PR betagouv
- être réactif et constructif aux discussions et propositions sur la PR
Si au fil des discussions sur la PR, il faut modifier le code :
- il ne faut pas repousser directement sur la branche qui supporte la PR betagouv
- vous devez créer une branche que vous pousser GitHub adullact/demarches-simplifiees.fr
- vous attendez que la CI CircleCI passe au vert (build, lint, tests) pour cette nouvelle branche
- vous pouvez pousser la branche qui supporte la PR betagouv
- idéalement, il faut faire un rebase
- idéalement, il ne faut pas garder les commits intermédiaires
source: https://github.com/betagouv/demarches-simplifiees.fr/pull/5441#discussion_r465639505
question logistique :
- on peut faire un git push --force pour ne pas garder les étapes intermédiaires ?
- on crée une nouvelle PR toute propre pour ne pas garder les étapes intermédiaires ?
- on rajoute des commits sur cette PR ?
Dites moi, ce que vous préférez ?
Généralement sur ce projet on préfère éviter de garder les étapes intermédiaires, oui (tout le monde sur le projet ne fait pas comme ça, mais dans l'ensemble on préfère, oui).
Et donc on fait des git push --force sur la branche, oui, en gardant la même PR :)