Skip to main content

Définition des seuils de qualité du code pour les pull requests

Appliquez automatiquement vos normes de qualité du code en bloquant les pull requests qui ne respectent pas les seuils que vous définissez, au niveau du dépôt ou de l’organisation.

Qui peut utiliser cette fonctionnalité ?

Propriétaires de référentiels, propriétaires d’organisations et utilisateurs avec le rôle d’administrateur

GitHub Team ou GitHub Enterprise Cloud

Vous pouvez bloquer les pull requests qui ne respectent pas vos normes de qualité du code en ajoutant des seuils Code Quality à un jeu de règles. Si une demande de fusion n’atteint pas un seuil, elle ne peut pas être fusionnée.

Vous pouvez définir des seuils pour :

  • CodeQL résultats, en fonction du niveau de gravité minimal des résultats devant être résolus.
  • Couverture du code, par le pourcentage minimal de code qui doit être couvert par des tests.

Vous pouvez appliquer ces seuils au niveau du référentiel ou au niveau de l’organisation pour appliquer la même norme sur de nombreux référentiels à la fois. Choisissez le niveau de l’organisation lorsque vous souhaitez une barre de qualité cohérente entre les équipes et le niveau de référentiel lorsqu’un projet unique a besoin de sa propre norme. Code Quality Les détections d’IA ne peuvent pas être définies comme un seuil.

Prerequisites

Remarque

Le seuil aura un impact uniquement si le référentiel possède du code dans une ou plusieurs langues prises en charge, consultez Activation de GitHub Code Quality.

Confirmer que Code Quality s’exécute correctement sur les pull requests

Avant d’ajouter ou de mettre à jour un jeu de règles afin d’inclure un seuil pour Code Quality, vérifiez que le workflow Qualité du code est en cours d’exécution et renvoie les résultats aux pull requests. Sinon, le jeu de règles peut bloquer la fusion de toutes les pull requests.

  1. Ouvrez une demande de tirage récente et faites défiler jusqu’au résumé « Vérifications » en bas de la demande de tirage.
  2. Vérifiez que la vérification «CodeQL - Qualité du code » s’est exécutée correctement et a signalé son état.

Pour plus d’informations, consultez « Analyse basée sur CodeQL pour la qualité du code ».

Ajout ou mise à jour d’un ensemble de règles à inclure Code Quality

Les étapes suivantes créent ou mettent à jour un ensemble de règles au niveau du référentiel. Pour appliquer le même seuil sur plusieurs référentiels à la fois, créez un ensemble de règles d’organisation avec la même règle exiger des résultats de qualité du code à la place. Consultez Création d'ensembles de règles pour les dépôts de votre organisation.

  1. Accédez à l’onglet « Paramètres » de votre référentiel.
  2. Dans la barre latérale gauche, sous « Code et automatisation », développez Règles, puis cliquez sur Ensembles de règles.
  3. Si vous ne disposez pas déjà d’un ensemble de règles pour protéger votre branche par défaut, développez Nouveau jeu de règles , puis cliquez sur Nouveau ensemble de règles de branche. Vous pouvez également ouvrir votre ensemble de règles existant pour la branche par défaut et passer à l’étape 5.
  4. Si vous créez un ensemble de règles :
    • Définissez un nom pour l’ensemble de règles.
    • Définissez « État de l’application » sur « Actif ».
    • Sous « Branches cibles », ajoutez une cible de « Inclure une branche par défaut ».
  5. Sous « Règles de branche », activez « Exiger des résultats de qualité du code ».
  6. Définissez « Severity » pour indiquer le niveau de gravité minimal des résultats de qualité du code qui doivent être résolus avant qu’une pull request puisse être fusionnée dans la branche par défaut. Par exemple:
    • Définissez « Erreurs » pour bloquer les pull requests contenant des erreurs de qualité du code non résolues avant leur fusion.
    • Définissez « Warnings and higher » pour bloquer la fusion des pull requests contenant des avertissements ou des erreurs non résolus.
    • Définissez « Notes and higher » pour bloquer la fusion des pull requests contenant des remarques, des avertissements ou des erreurs non résolus.
    • Définissez « All » pour bloquer la fusion des pull requests contenant n’importe quels résultats de qualité du code non résolus.
  7. Une fois que vous avez terminé de définir ou de modifier l’ensemble de règles, cliquez sur Créer ou Enregistrer des modifications.

Définition d’un seuil de couverture du code

Vous pouvez également bloquer les pull requests dont le taux de couverture du code est inférieur à un seuil défini. Cela utilise une règle de couverture de code Restrict distincte, et non la règle Exiger des résultats de qualité du code utilisée ci-dessus, et votre référentiel doit d’abord charger les données de couverture du code. Pour obtenir la procédure complète, consultez Définir des seuils de couverture du code pour les pull requests.

Étapes suivantes

Découvrez comment GitHub Code Quality fonctionne sur les pull requests pour empêcher que les problèmes de qualité du code n’atteignent votre branche par défaut. Consultez Empêcher les problèmes de qualité du code d’atteindre votre branche par défaut.