diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..0685a4c73a788e62ddcb83900e0bba90a0039e81 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,7 @@ +Contribution +============ + +Si vous souhaitez contribuer à MADIS, +veuillez vous référer à la page de documentation correspondante : + +[Cycle de vie d'une contribution](/doc/developpement/6-cycle-de-vie-contribution.md) diff --git a/doc/developpement/6-cycle-de-vie-contribution.md b/doc/developpement/6-cycle-de-vie-contribution.md index 44ae9e8659dc21c872afcf03e6bb84a3f20eb3b1..3f8c88a75531c717a029020d44d5030bec4c21cb 100644 --- a/doc/developpement/6-cycle-de-vie-contribution.md +++ b/doc/developpement/6-cycle-de-vie-contribution.md @@ -12,16 +12,24 @@ Tout ces points s'inspirent très largement des documents suivants Vue synthétique des étapes : -1. Création d'un ticket (*issue*) -1. Discussion -1. Si besoin, enrichissement de l'issue -1. Création "automatique" de la Demande de fusion (*merge request*) -1. Développement -1. Prévention des conflits -1. Finalisation de la Demande de fusion -1. Traitement de la Demande de fusion par les mainteneurs +1. Vérification qu'une demande similaire n'est pas déjà en cours +2. Création d'un ticket (*issue*) +3. Discussion +4. Si besoin, enrichissement de l'issue +5. Création "automatique" de la Demande de fusion (*merge request*) +6. Développement +7. Prévention des conflits +8. Finalisation de la Demande de fusion +9. Traitement de la Demande de fusion par les mainteneurs -## 1. Création d'un ticket +## 1. Vérification qu'une demande similaire n'est pas déjà en cours + +Avant toute contribution, merci de vérifier qu'une demande similaire n'est pas déjà en cours ou résolu. +Pour cela, veuillez vérifier : +- Qu'aucune mention de votre problème n'est présent dans la documentation +- Qu'un ticket ouvert ne décrit pas déjà votre demande (dans ce cas, participez à la discussion de ce dernier) + +## 2. Création d'un ticket Dans le but de travailler de manière répartie (tout le monde n'est pas dans le même bureau) et asynchrone (tout le monde n'est pas sur le projet en même temps), il recommandé de consigner par écrit toute idée, suggestion, bug. @@ -41,17 +49,17 @@ L'intérêt de créer au plus tôt une issue est d'afficher au reste de la commu Exemple : je souhaite me lancer dans le développement d'une fonctionnalité, je créé l'issue afférente. Si d'autres personnes ont la même idée, une discussion peut commencer. -## 2. Discussion +## 3. Discussion La discussion se fait sous forme de commentaires de l'issue. -## 3. Enrichissement de l'issue +## 4. Enrichissement de l'issue Pour les contributeur ayant un peu d'expérience, il est suggéré de mettre à jour la description de l'issue au gré de la disccussion. (On peut aussi imaginer créer d'autres issues et fermer la première au profit de celles nouvellement créées). -## 4. Création "automatique" de la Demande de fusion +## 5. Création "automatique" de la Demande de fusion Utiliser le bouton "Create merge request" @@ -64,11 +72,11 @@ Ceci permet d'afficher à la communauté le fait qu'une personne travaille sur l Le bouton "Create merge request" permet de faire toutes ces opérations en un seul clic. -## 5. Développement +## 6. Développement Le / les développeurs produisent leur code (commits dans la branche dédiée à l'issue, puis push vers le Gitlab) -## 6. Prévention des conflits +## 7. Prévention des conflits TODO à détailler le pourquoi du comment @@ -81,11 +89,11 @@ git merge master Gérer les éventuels conflits. Si conflits, corriger, commiter, pusher. -## 7. Finalisation de la Demande de fusion +## 8. Finalisation de la Demande de fusion Sur la page de la merge request, faire un "resolve WIP status" puis lancer la merge request -## 8. Traitement de la Demande de fusion par les mainteneurs +## 9. Traitement de la Demande de fusion par les mainteneurs Le lancement de la merge request génère une notification aux mainteneurs. Ces derniers traitent la merge request.