Collaborer sur Khanat assets - OpenNeL legacy
Cette page n’est conservée que pour des raisons historiques. Il n’y a plus lieu de collaborer à ce dépôt.
Ce dépôt concerne les éléments graphiques en 2D et en 3D qui seront ensuite passés au pipeline pour fournir les éléments nécessaires au système de jeu selon ses spécifications.
Leur organisation, nomenclature et formats sont très fortement encadrés pour le pipeline. Il faut absolument se renseigner sur leurs spécificités avant d'ajouter du contenu, sans quoi le risque est grand que le fichier soit ignoré ou, pire encore, fasse planter le pipeline.
Les fichiers sources n'y ont pas du tout leur place. Ceux-ci doivent aller dans khanat-assets-sources
Le workflow de travail
Créez toujours une Issue avant de commencer une tâche qui n'y est pas référencée.
Cela permet de suivre le travail en vérifiant si une branche Git avec ce numéro existe, de façon à éviter de refaire du travail déjà commencé.
Avoir un dépôt sur lequel travailler
Mise en place d'un dépôt personnel (fork)
Pour commencer, il vous faudra forker le dépôt principal : khanat-assets. 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 cliquer sur le bouton suivant sur la page d’accueil du projet.
Vous serrez alors redirigé vers votre copie du dépôt.
Travailler directement sur le dépôt principal
Si vous êtes un développeur “officiel” chez nous, vous aurez accès au dépôt principal sur notre GitLab : khanat-assets.
Vous n'aurez pas à créer un dépôt personnel (sauf si vous en avez envie) pour pouvoir contribuer, il vous suffira de travailler sur des branches en interne.
Le dépôt et ses branches
Khanat utilise un workflow inspiré de 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ù seuls des éléments d'organisations importants sont autorisés à être mergés directement. Cette branche garantit un serveur fonctionnel, dans la mesure du possible.
- Branche Spofu : Branche de test, qui permet de tester sur le serveur spofu de nouvelles données.
À cela s'ajoute des branches temporaires, ouvertes et fermées suivants les besoins:
- Branche Feature : C'est une nouvelle addition au contenu de Khanat, développée dans une branche séparée afin de réduire les risque d'introduction de bugs. Elle sera à merge sur la branche “spofu” pour tester ou, si cela n'est pas jugé nécessaire, sur “lirria”.
Les branches, que ce soit sur votre fork ou sur les dépôts officiels, doivent être nommés 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/43-mission_peche”
Organisation des dossiers et fichiers
Les fichiers doivent impérativement respecter les conventions de nommage des fichiers graphiques, et le format selon leur type.
En outre, pour le bon fonctionnement du pipeline, leur organisation en répertoire et sous-répertoire est très codifiée. Il faut absolument se référer à l'organisation de celui-ci avant toute intervention.
Publication d'une feature
Une fois que vous considérez la feature que vous avez développé terminée, vous pouvez créer une Merge Request, à destination de Spofu voire de Master. Cette requête doit respecter ces impératifs :
- La Merge Request doit clairement expliquer en quoi elle répond à la feature
Gestion des Merge Request
Lorsqu'on a terminé une Feature, il faut faire une demande de Merge Request en expliquant en quoi la tâche est terminée et l'affecter à une autre personne même si on a la capacité de merger directement.
Cela permettra d'avoir un contrôle, ne serait-ce que formel, sur l'ajout.
On ne merge jamais soi-même directement sur Master.
Gestion des Issues
Avant de commencer une tâche, créez une Issue que vous vous attribuez, comme ça vous pouvez numéroter la branche correctement et on sait que quelqu'un a commencé à travailler sur ce sujet.
Les travaux à faire qui entraînent des modifications de fichier, créations, doivent être indiqués en faisant référence aux Issues de ce dépôt : Issue sur Khanat-assets-sources qui contiennent la source des ajouts. Une nouvelle Issue doit éventuellement y être créée.
Il suffit de cliquer sur :
Vous renseignez ensuite les différents champs.
Le titre doit être concis et le plus explicite possible.
Par contre, n'hésitez pas à être le plus précis possible dans la zone Description.
Il y a ensuite 3 zones de champs à renseigner :
- Assignee pour indiquer la personne à qui affecter la tâche ;
- Milestone qui désigne la version du projet pour laquelle ce travail devra être fait ;
- Labels permet de choisir des tags pour déterminer le genre de tâche ;
- Select due date propose de fixer une date de remise des travaux.
Dans le doute, n'indiquez rien dans ces quatre champs. De toute façon, tout est éditable a posteriori donc ce n'est pas grave si vous faites des erreurs ou n'êtes pas assez précis.
Gestion des Milestones
On se servira des mêmes milestones que pour les autres dépôts et secteurs de développement du projet, présentés sur la page milestones.
Gestion des Tags
Nous n'utilisons pas de Tags sur ce dépôt Git pour le moment.
Gestion des Labels
Les Labels doivent être génériques et concerner de préférence un type technique d'asset graphique et permettre ainsi de regrouper par genre de compétence. Il est possible d'en créer lors de la génération d'une Issue si aucune ne convient mais cela peut être fait par la suite, surtout quand on est indécis.