Soumettre une demande de fusion

Date d’adoption : 
28 août 2020
Dernière mise à jour : 
23 juillet 2021

Les demandes de fusion servent à :

  • établir une communication entre les parties;
  • valider le travail;
  • faciliter le processus de gestion des modifications;
  • assurer l’imputabilité et la traçabilité;
  • fournir du contexte;
  • garder une trace écrite du travail;
  • améliorer la reproductibilité des déploiements.

Le gouvernement utilise la fonctionnalité de demande de fusion de GitLab pour ses requêtes de modification des codes. Sur les plateformes Git autres que GitLab, notamment GitHub, cette fonctionnalité s’appelle plutôt demande de tirage.

À partir de la branche de développement du répertoire Git, créez votre propre branche pour votre service ou votre site, car nous ne permettons pas les accès directs en tirage. Nous vous recommandons de nommer votre branche comme suit : <nom-du-fournisseur>/<description-du-travail>.

  1. Une fois votre fonctionnalité prête, poussez votre branche avec Git et créez une demande de fusion sur GitLab.
  2. Afin d’indiquer le type de version de votre demande de fusion sur GitLab, utilisez le modèle de titre suivant : Nom de l’entreprise – Nom du service – Alpha 1.
  3. Nous recueillerons les commentaires et les signalements de problèmes sur GitLab.
  4. Une fois votre branche approuvée, nous fusionnerons votre demande à la branche de développement.
  5. Après le déploiement d’une version admissible (release candidate) dans la branche de développement, les Services en ligne demanderont l’approbation de l’équipe de projet pour commencer les essais d’acceptation par l’utilisateur.
  6. L’approbation des essais peut être mise par écrit dans la section de commentaires de la demande de fusion sur GitLab.
  7. Une fois les essais terminés et approuvés par les Services en ligne, les fonctionnalités validées peuvent être envoyées à la production.

Modèle pour les demandes de fusion

Titre

Le titre des demandes de fusion doit suivre le modèle suivant : {Nom de l’entreprise} – {Nom du projet} – {Version}

Exemples de titres

Entreprise A – Collecte des données ouvertes au format CSV – Alpha 2
Entreprise B – SAS – RC 2
Entreprise C – ENV : autorisation de chasse à accès restreint – RC 3

Cible

Presque toujours la branche de développement.

Description

Ce projet comprend :

{fonctionnalité 1}
{fonctionnalité 2}
{...}

{titre de la fonctionnalité 1}

{description de la fonctionnalité 1}

{titre de la fonctionnalité 2}

{description de la fonctionnalité 2}

{...}

Problèmes connus

{Listes des points en attente, des fonctionnalités incomplètes et des autres problèmes}

Remarques

{Renseignements pertinents sur le travail}

Directives de déploiement

  1. {Marche à suivre pour activer les changements}
  2. {Préférablement sous forme de ligne de commande}

{Directives simples pour vérifier que le déploiement a bien fonctionné}

Exemple

Titre : Devers – Pinball – RC 1
Modifications apportées :

  • Page des machins
  • Réduction des trucs

Page des machins

Cette version comprend un nouveau module, MachinTruc, qui rassemble tous les machins sur une même page. Ce module utilise le service Truc, qui requiert une clé API. {...}

Réduction des trucs

Grâce à une modification du bidule, le site utilise désormais considérablement moins de trucs. Ce changement est valable pour toutes les pages, sauf /utilisateur, qui est complètement infestée.

Le nouveau machin devrait être accessible à partir de /chemin/vers/machin.

Problèmes connus

Cette version fait une mise en œuvre partielle du système bidule.

Remarques

Après avoir discuté avec le client, nous avons décidé de limiter le nombre de machins affichés à 42 afin de satisfaire aux exigences des fées. Pour ajuster ce nombre, modifiez la variable MACHINS_PAR_PAGE près de la ligne 934.

Directives de déploiement

  1. Appliquez les modifications des codes.
  2. Activez le module MachinTruc avec une commande Drush.
  3. Ajoutez la clé API à la page d’administration /admin/machintruc.