Skip to main content

Configuration de la couverture automatique du code

Un agent basé sur l’IA peut analyser votre dépôt et générer un flux de travail de couverture du code de travail. Vous pouvez donc commencer à suivre la couverture des tests sans créer manuellement la configuration ci.

Qui peut utiliser cette fonctionnalité ?

GitHub Team ou GitHub Enterprise Cloud

Lorsque vous utilisez la configuration automatique pour la couverture du code, un agent alimenté par l’IA analyse votre référentiel, identifie votre infrastructure de test et ouvre une demande de tirage avec un flux de travail de couverture prêt à être examiné.

Il n’existe aucun coût supplémentaire pour l’utilisation de cette fonctionnalité.

Fonctionnement de l’agent

L’agent fonctionne en trois phases :

  1. Découverte: L’agent lit votre configuration, documentation et fichiers de build CI pour comprendre la structure de votre projet et identifier votre infrastructure de test.
  2. Exécution: L’agent installe les dépendances, génère le projet et exécute vos tests avec une couverture activée. Si les outils de couverture ne sont pas déjà configurés, l’agent l’ajoute à la configuration de votre projet (par exemple, vitest.config.ts ou jest.config.js).
  3. Intégration de flux de travail : Si l’agent produit un rapport de couverture valide, il vérifie si votre référentiel dispose déjà d’un GitHub Actions flux de travail qui exécute des tests sur les demandes d’extraction. Si c’est le cas, l’agent augmente ce flux de travail avec une étape de chargement de couverture. Si ce n’est pas le cas, il crée un fichier de flux de travail et ouvre une demande de tirage.

Quand l’agent s’arrête

L’agent peut s’arrêter avant d’ouvrir une demande de tirage dans les situations suivantes :

  • Aucun test n’a été trouvé. L’agent n’a pas pu trouver de tests à instrumenter. Il n’y a donc rien à générer de couverture.
  • Impossible de reproduire la build. Les registres privés manquants, les sdk propriétaires ou les dépendances système empêchent l’agent de vérifier la suite de tests.

Si l’agent s’arrête ou produit des résultats inattendus, vous pouvez consulter le journal de session de l’agent pour plus d’informations. Accédez à l’onglet Tâches de votre référentiel pour rechercher la session associée à la tentative de génération de flux de travail.

  • Conversion de rapport de couverture non prise en charge. L’agent ne reconstruit pas Cobertura XML à partir de rapports qui n’exposent que des compteurs agrégés. Par exemple, JaCoCo XML ne contient pas suffisamment de structure de ligne et de branche pour un chargement Cobertura digne de confiance. Par conséquent, les projets JVM qui produisent uniquement le code XML JaCoCo peuvent avoir besoin d’une configuration manuelle à la place.

Résultats des demandes de tirage

Remarque

L’agent ouvre immédiatement la demande de tirage avec une validation de planification initiale qui ne contient aucune modification du code. La validation d’implémentation réelle arrive généralement quelques minutes plus tard. Si la demande de tirage affiche initialement 0 fichiers modifiés, attendez quelques minutes et actualisez la page.

Si l’agent ouvre correctement une demande de tirage, la demande de tirage peut se trouver dans l’un des états suivants :

  • as-ispouvant être fusionné : Le flux de travail se termine correctement dans les chargements CI et couverture.
  • Prêt à itérer : Le flux de travail s’exécute, mais nécessite des ajustements (par exemple, des secrets manquants, une configuration d’exécuteur auto-hébergé ou des différences de chemin entre la vérification locale et CI).
  • Utile en tant que référence : Les responsables de maintenance peuvent préférer configurer la couverture eux-mêmes, à l’aide de la demande de tirage de l’agent comme point de départ pour les commandes de génération et de test qu’il a découvertes.

Lectures complémentaires