Skip to main content

Flux de travail de résolution des problèmes

Vous pouvez utiliser les outils dans GitHub Actions pour déboguer vos workflows.

Suggestions initiales pour le dépannage

Il existe plusieurs façons de résoudre les problèmes liés à l'échec de l'exécution d'un flux de travail.

Remarque

Si vous disposez d'un abonnement GitHub Copilot Gratuit, cela sera décompté de votre limite mensuelle de messages de chat.

Utilisation de GitHub Copilot

Pour ouvrir une conversation avec GitHub Copilot au sujet d’un échec d’exécution du flux de travail, vous pouvez :

  • En regard de la vérification échouée dans la boîte de fusion, cliquez sur , puis cliquez sur Expliquer l'erreur.
  • Dans la boîte de fusion, cliquez sur le contrôle de l'échec. En haut de la page de résumé de l'exécution du flux de travail, cliquez sur Expliquer l'erreur.

Cela ouvre une fenêtre de chat avec GitHub Copilot, qui fournira des instructions pour résoudre le problème.

Using workflow run logs

Chaque exécution de workflow génère des journaux d’activité que vous pouvez afficher, investiguer et télécharger. Pour plus d’informations, consultez « Using workflow run logs ».

Enabling debug logging

Si les journaux de workflow ne fournissent pas suffisamment de détails pour diagnostiquer la raison pour laquelle un workflow, un travail ou une étape ne fonctionne pas comme prévu, vous pouvez activer une journalisation de débogage supplémentaire. Pour plus d’informations, consultez « Enabling debug logging ».

Si votre flux de travail utilise des outils ou des actions spécifiques, l’activation de leurs options de journalisation détaillées ou de débogage peut vous aider à générer une sortie plus détaillée pour la résolution des problèmes. Par exemple, vous pouvez utiliser npm install --verbose pour npm ou GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ... pour Git.

Examen des erreurs de facturation

L’utilisation des actions inclut les minutes d’exécution et le stockage des artefacts de flux de travail. Pour plus d’informations, consultez « GitHub Actions billing ».

Définition d'un budget

La définition d’un budget Actions peut aider à débloquer immédiatement les flux de travail en raison d’erreurs de facturation ou de stockage. Il permet d’effectuer d’autres minutes et l’utilisation du stockage jusqu’au montant budgétaire défini. Pour en savoir plus, consultez Setting up budgets to control spending on metered products.

Affichage des métriques d'utilisation GitHub Actions

Pour analyser l’efficacité et la fiabilité de vos flux de travail en utilisant des mesures, consultez « Affichage des mesures des GitHub Actions ».

Dépannage des déclencheurs de flux de travail

Vous pouvez passer en revue le champ on: de votre flux de travail pour comprendre ce qui est attendu pour déclencher le flux de travail. Pour plus d’informations, consultez « Déclenchement d’un workflow ».

Pour obtenir la liste complète des événements disponibles, consultez « Événements qui déclenchent des flux de travail ».

Déclenchement de conditions d’événement

Certains événements déclencheurs s’exécutent uniquement à partir de la branche par défaut (c’est-à-dire issues, schedule). Les versions de fichiers de flux de travail qui existent en dehors de la branche par défaut ne se déclenchent pas sur ces événements.

Les workflows ne s'exécutent pas sur une activité pull_request si la demande de tirage (pull request) a un conflit de fusion.

Les flux de travail qui seraient déclenchés dans push ou l’activité pull_request seront ignorés si le message de validation contient une annotation ignorer. Pour plus d’informations, consultez « Exécutions de workflow ignorées ».

Flux de travail planifiés en cours d’exécution à des moments inattendus

Les événements planifiés peuvent être retardés pendant les périodes de forte charge des exécutions du workflow GitHub Actions.

Les périodes de charges élevées incluent le début de chaque heure. Si la charge est suffisamment élevée, certains travaux en file d’attente peuvent être supprimés. Pour réduire le risque de retard, planifiez l’exécution de votre workflow à un autre moment dans l’heure. Pour plus d’informations, consultez « Événements qui déclenchent des flux de travail ».

Limites de filtrage et de différences

Des événements spécifiques permettent de filtrer par branche, balise et/ou chemins que vous pouvez personnaliser. La création de l’exécution du flux de travail est ignorée si les conditions de filtre s’appliquent pour filtrer le flux de travail.

Vous pouvez utiliser des caractères spéciaux avec des filtres. Pour plus d’informations, consultez « Workflow syntax for GitHub Actions ».

Pour le filtrage des chemins d’accès, l’évaluation des différences est limitée aux 300 premiers fichiers. Si des fichiers modifiés ne correspondent pas aux 300 premiers fichiers renvoyés par le filtre, le workflow ne sera pas exécuté. Pour plus d’informations, consultez « Workflow syntax for GitHub Actions ».

Dépannage de l'exécution du flux de travail

L’exécution du flux de travail implique tous les problèmes observés après le déclenchement du flux de travail et l’exécution d’un flux de travail a été créée.

Annulation des flux de travail

Si l’annulation standard par le biais de l’interface utilisateur ou de l’API ne traite pas comme prévu, une instruction conditionnelle peut être configurée pour votre ou vos travaux de flux de travail en cours d’exécution qui l’entraînent à ne pas annuler.

Dans ces cas, vous pouvez tirer parti de l’API pour forcer l’annulation de l’exécution. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les workflows runs ».

Une cause courante peut être l'utilisation de always()la fonction de vérification d'état qui renvoie true, même en cas d'annulation. Une alternative consiste à utiliser l'inverse de la cancelled() fonction, ${{ !cancelled() }}.

Pour plus d’informations, consultez « Utilisation de conditions pour contrôler l’exécution des travaux » et « Annulation d’une exécution de workflow ».

Résolution des problèmes liés aux exécuteurs

Définition d’étiquettes d’exécuteur

Les exécuteurs hébergés par GitHub utilisent des étiquettes prédéfinies gérées via le référentiel actions/runner-images.

Nous vous recommandons d’utiliser des noms d’étiquettes uniques pour les exécuteurs plus volumineux et auto-hébergés. Si une étiquette correspond à l’une des étiquettes prédéfinies existantes, il peut y avoir des problèmes d’affectation d’exécuteur lorsqu’il n’existe aucune garantie sur laquelle l’option d’exécuteur correspondante sur laquelle le travail s’exécute.

Exécuteurs auto-hébergés

Si vous utilisez des exécuteurs auto-hébergés, vous pouvez afficher leur activité et diagnostiquer les problèmes courants.

Pour plus d’informations, consultez « Surveillance des exécuteurs auto-hébergés et résolution des problèmes ».