Exercice - Ajouter une règle pour exiger une revue

Effectué

Dans cette unité, vous allez configurer une règle sur GitHub qui exige qu’un réviseur approuve les modifications avant qu’elles ne puissent être fusionnées dans la branche main. Vous en profiterez également pour corriger la faute de frappe dans la page d’accueil du site web Space Game.

L’équipe autorise toute personne qui effectue une demande de tirage à fusionner le code dans la branche main. Étant donné qu’aucune revue n’est requise, il est possible que se glisse du code incorrect ou instable.

Andy décide d’ajouter une vérification à la demande de tirage sous la forme d’une autre paire d’yeux. Il souhaite configurer GitHub afin qu’il exige que quelqu’un d’autre que l’auteur de la demande de tirage révise le code avant sa fusion. Voyons comment faire cela.

Andy part à la recherche de Mara et la trouve à son bureau en train de travailler tout en accompagnant de hochements de tête la musique qui sort de ses écouteurs.

Andy : Mara, je souhaiterais vous parler de quelque chose.

Mara lève les yeux.

Mara : En quoi puis-je vous aider ?

Andy : Plusieurs petites erreurs affectent la build. Rien qu’aujourd’hui, une faute de frappe est apparue dans la page d’accueil. Amita consacre trop de temps à ces choses. Nous devons y mettre un terme avant que la branche main ne soit affectée. Il est nécessaire qu’une autre paire d’yeux révise le code avant que la demande de tirage ne soit approuvée.

Mara : Je peux mettre cela en place. Dans GitHub, il existe un moyen de s’assurer qu’aucune demande de tirage n’est fusionnée avant que quelqu’un d’autre la révise et l’approuve.

Configurer des approbations

Dans cette section, vous allez configurer une règle sur GitHub qui exige qu'au moins un réviseur approuve une demande de tirage (pull request) avant qu'elle ne soit fusionnée dans la branche main. Vous vérifierez ensuite que la règle fonctionne en apportant une correction à l'erreur de frappe commise par Mara.

Ajouter la règle

  1. Dans GitHub, accédez au dépôt de votre projet Space Game.
  2. Sélectionnez l’onglet Settings vers le haut de la page.
  3. Dans le menu de gauche, sélectionnez Branches.
  4. Vérifiez que main est sélectionné comme branche par défaut.
  5. Sélectionnez Ajouter une règle de protection de branche.
  6. Sous Branch name pattern, entrez main.
  7. Cochez la case à cocher Exiger une demande de tirage (pull request) avant de fusionner.
  8. Cochez la case à cocher Exiger des approbations.
  9. Conservez la valeur 1 pour Required approving reviews.
  10. Sélectionnez Create (Créer).
  11. Sélectionnez Enregistrer les modifications.

Notes

Au bas de la liste de choix se trouve une option nommée Include Administrators. Cette option exige que les administrateurs du dépôt suivent la règle. Ne l’activez pas, car vous êtes administrateur de votre dépôt et il n’y a pas d’autre réviseur. Dans cette unité, pour les besoins de cette formation, vous révisez et approuvez vos propres demandes de tirage.

Envoyer le correctif

Dans cette section, vous envoyez un correctif à la faute de frappe dans la page d’accueil. Rappelez-vous que le mot « official » est mal orthographié sous la forme « oficial ».

Capture d’écran du site web de Space Game montrant une faute de frappe.

  1. Dans Visual Studio Code, accédez au terminal.

  2. Pour extraire la branche main, exécutez git checkout :

    git checkout main
    
  3. Pour extraire les dernières modifications apportées à la branche main à partir de GitHub, exécutez git pull :

    git pull origin main
    

    Vous pouvez voir que deux fichiers sont mis à jour :

    • README.md : contient le code Markdown pour l’affichage du badge de build.
    • Index.cshtml : contient le texte de la page d’accueil mis à jour, qui inclut la faute de frappe.
  4. Pour corriger l’erreur, créez et extrayez une branche :

    git checkout -B bugfix/home-page-typo
    
  5. Dans l’Explorateur de fichiers, ouvrez Index.cshtml.

  6. Localisez l'erreur :

    <p>Welcome to the oficial Space Game site!</p>
    
  7. changez la ligne pour corriger l'erreur :

    <p>Welcome to the official Space Game site!</p>
    
  8. Enregistrez le fichier.

  9. dans le terminal, indexez et validez la modification :

    git status
    git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtml
    git commit -m "Fix typing error on the home page"
    

    Normalement, vous devez créer et exécuter le site localement pour vérifier la modification. Dans cette unité, par souci de concision, nous allons ignorer cette étape.

  10. Poussez la branche vers GitHub.

    git push origin bugfix/home-page-typo
    

Tester la règle

  1. Dans GitHub, localisez et sélectionnez la branche bugfix/home-page-typo.

    Capture d’écran de GitHub montrant la branche récemment envoyée (push).

  2. Pour démarrer votre demande de tirage, sélectionnez Contribute, puis Opein pull request.

  3. Définissez votre dépôt dupliqué en tant que dépôt de base.

    Capture d’écran de GitHub confirmant que la branche peut être fusionnée.

  4. Sélectionnez Create pull request.

    Vous pouvez voir qu’une revue humaine est nécessaire pour que vous puissiez fusionner la modification.

    Capture d’écran d’une demande de tirage sur GitHub montrant qu’une révision est nécessaire pour la fusion.

    Normalement, vous confierez à un membre de l'équipe le soin d'examiner votre modification. Dans cette unité, vous pouvez fusionner votre propre demande de tirage (pull request) à des fins d'apprentissage.

  5. Activez la case à cocher Fusionner sans attendre que les exigences soient remplies (contourner les protections de branche), puis sélectionnez Fusionner la demande de tirage (pull request).

  6. Sélectionnez Confirmer la fusion.

    Votre modification est fusionnée.

  7. Pour supprimer la branche bugfix/home-page-typo, sélectionnez Delete branch.