Skip to content

Github Workflow

En interne

Le projet utilise ce workflow :

  • Une branche master lié aux releases
  • Une branche develop pour le développement
  • Des branches features/feature ou autres

Chaque push à la branche master publiera une release sur le Play Store.

Une pipeline CI/CD est mise en place pour compiler et tester automatiquement.

En Open Source

Avant enchainer sur le Github Flow, il est recommandé d'ouvrir un Issue afin de voir si les développeurs n'ont pas déjà réfléchies sur le problème.

Nous utilisons principalement le Github Flow. Voici toutes les étapes en détails :

  • Le dépôt est fork par le contributeur sur Github.

  • Une fois fork, le contributeur clone ce dépôt sur son ordinateur.

1
git clone git@github.com:[contributeur]/minitel-app.git  # SSH
  • Après le clone, le dépôt origin est git@github.com:[contributeur]/minitel-app.git. Afin que le dépôt soit toujours à jour par rapport au projet à contribuer, le contributeur doit ajouter le dépôt distant dit upstream :
1
git remote add upstream git@github.com:Darkness4/minitel-app.git
  • A partir de ce moment, le contributeur peut travailler sur son dépôt en local. Exemple de commandes :
1
2
3
git add .
git commit -m "[task_name] This has changed"
git push
  • Les push sont envoyés dans le dépôt du contributeur.

  • Une fois le travail terminé, le contributeur voudra merge son dépôt distant git@github.com:[contributeur]/minitel-app.git vers git@github.com:Darkness4/minitel-app.git. Cependant, le dépôt distant du contributeur doit être mis à jour. Si la branche du contributeur s'appelait fix-stuff et la branche cible du dépôt original s'appelait develop, alors il faudra mettre à jour fix-stuff en faisant :

1
2
3
4
5
6
7
git fetch --all
git checkout fix-stuff
git merge upstream/develop
# Fixer les éventuels conflits:
# git mergetool
#
git push
  • Le contributeur peut alors ouvrir un Pull Request et request un Code Review.

  • Les développeurs du projets pourra alors Code Review et merge.