Logo Khaganat
Traductions de cette page?:

Ceci est une ancienne révision du document !


Collaborer sur le dépôt khanat-code

WIP

Le workflow de travail

Mise en place d'un dépôt personnel (fork)

Cet étape n'est pas utile aux développeurs khanat officiels, qui ont directement accès au dépôtkhaganat/khanat-code, et peuvent créer une branche dédié à leur travail.

Pour commencer, il vous faudra forker le dépôt principal. Ainsi, vous aurez votre propre dépôt, sur lequel vous pourrez effectuer vos modification sans interférer avec le dépôt principal.

Pour cela, il vous suffit de clique sur le bouton suivant sur la page d’accueil du projet.

Vous serrez alors redirigé vers votre copie du dépôt.

Le dépôt et ses branches

Khanat utilise de workflow dit Gitflow. De ce fait, il y a deux types de branches : principales et temporaires.

Les branches principales sont :

  • Branche Master (aka Lirria) : Branche stable, où seul les hotfix et les nouvelles release sont autorisés à être mergés. Cette branche garantie une expérience sans (trop de) bugs, dans la mesure du possible.
  • Branche Develop : Branche de dévellopement, dans laquelle les features terminés sont mergés, en vu des futures releases.
  • Branche Ryzomcore : Branche suivant les modifications d'amont du projet RyzomCore. Elle permet de merger celle-ci avec notre propre code.

A cela s'ajoute des branches temporaires, ouvertes et fermés suivants les besoins:

  • Branche Feature : C'est une nouvelle addition au code de Khanat, développée dans une branche séparé afin de réduire les risque d'introduction de bugs dans develop. Elle sera à merge sur la branche “develop”.
  • Branche Release : Ce type de branche est spécifique au dépôt principal, et est crée quand toutes les feature prévu dans une nouvelle release ont été merge dans develop. Une fois cette branche créer, seul les bugfix y sont autorisés, jusqu'à ce qu'elle soit merge dans “lirria”, une fois considéré comme suffisamment stable pour la “production”.
  • Branche Hotfix : C'est une branche ayant pour objectif de rapidement corriger un bug critique affectant Lirria. De ce fait, elle sera merge vers la branche “lirria”, ainsi que “develop”.

Les branches, que ce soit sur votre fork ou sur les dépôts officiels, doivent être nommé de la façon suivante:

  • Branche Feature : Doit être nommée “feature/[numéro(s) de(s) (l')issue][nom de la feature sans espaces ni ponctuation]”
    • Exemple : “feature/57-69-75-nouveau-fichier-dintegration-continue”
  • Branche Release : Doit être nommée “release/[futur tag]”
    • Exemple : “release/v0.2.0”
  • Branche Hotfix : Doit être nommée “hotfix/[numéro du/des bug(s)]-[descriptif du/des bug(s) sans espace ni ponctuation]”
    • Exemple : “hotfix/33-empêcher-les-poisson-de-sortir-de-leau”

Publication d'une feature

Une fois que vous considérez la feature que vous avez développé terminé, vous pouvez créer une Merge Request, à destination de Develop. Cette requête doit respecter ces impératifs :

  • Le CI Gitlab doit pourvoir la compiler avec succès.
  • La feature et son code doivent être documentée.
  • La Merge Request doit clairement expliquer la feature (son utilisation, les test à effectuer, etc.)

Publication d'une release

Une fois un certain nombre de features sont mergés avec Develop, nous créons une nouvelle branche release. A partir de ce moment, seul les bugfix sont acceptés (code freeze).

Une fois le nouveau code testé, et les bugs corrigés, la release est tagué, et publié dans master.

Créer un HotFix

Il arrive que des bugs critiques passe à travers les maillons du filet de la QA, c'est pourquoi il est parfois nécessaire de faire des “hotfix” (correction à chaud).

Pour cela, il faut faire une branche “hotfix” depuis master, y corriger le bug, puis le publier dans master.

Gestion des Merge Request

Gestion des Issues

Gestion des Milestones

Gestion des Tags

Gestion des Labels

CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/collabo_khanat_code.1479248743.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact