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 « Facturation GitHub Actions ».
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 Configurer des budgets pour contrôler les dépenses liées aux produits facturés à l’usage.
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 ».
Suggestions pour la résolution des problèmes de mise en réseau
Notre support est limité pour les problèmes de réseau impliquant :
- Vos réseaux
- Réseaux externes
- Des systèmes tiers
- Connectivité Internet générale
Pour consulter le statut en temps réel de la plateforme GitHub, consultez Statut de GitHub.
Pour les autres problèmes liés au réseau, passez en revue les paramètres réseau de votre organisation et vérifiez le statut des services tiers auxquels vous accédez. Si les problèmes persistent, envisagez de contacter vos administrateurs réseau pour obtenir une assistance supplémentaire.
Si vous n’êtes pas sûr de la nature du problème, veuillez contacter Support GitHub. Pour en savoir plus sur la manière de contacter le support, consultez Contacter le support GitHub.
DNS
Des problèmes peuvent survenir à cause de la configuration du système de noms de domaine (DNS), de la résolution de noms ou de problèmes liés au résolveur. Nous vous recommandons de consulter les journaux disponibles, la documentation du fournisseur ou de contacter vos administrateurs pour obtenir une assistance supplémentaire.
Pare-feu
Les activités peuvent être bloquées par des pare-feu. Si cela se produit, vous pouvez consulter les journaux disponibles, la documentation du fournisseur ou contacter vos administrateurs pour obtenir une assistance supplémentaire.
Proxies
Les activités peuvent échouer lorsque vous utilisez un proxy pour les communications. Il est recommandé de consulter les journaux disponibles, la documentation du fournisseur ou de contacter vos administrateurs pour obtenir une assistance supplémentaire.
Consultez Utilisation d’un serveur proxy avec des exécuteurs auto-hébergés pour plus d’informations sur la configuration de l’application de l’exécuteur afin d’utiliser un proxy.
Sous-réseaux
Des problèmes peuvent survenir avec des sous-réseaux en cours d’utilisation ou chevauchants un réseau existant, par exemple au sein d’un fournisseur de cloud virtuel ou dans des réseaux Docker. Dans ce cas, nous vous recommandons de vérifier la topologie de votre réseau ainsi que les sous-réseaux en cours d’utilisation.
Certificats
Des problèmes peuvent survenir avec les chaînes de certificats auto-signés ou personnalisés et les magasins de certificats. Vous pouvez vérifier que le certificat utilisé n’a pas expiré et qu’il est actuellement approuvé. Les certificats peuvent être inspectés à l’aide de curl
ou d’outils similaires. Vous pouvez également consulter les journaux disponibles, la documentation du fournisseur ou contacter vos administrateurs pour obtenir une assistance supplémentaire.
Listes d’IP
Les listes d’autorisation ou de refus d’adresses IP peuvent perturber les communications prévues. En cas de problème, vous devez consulter les journaux disponibles, la documentation du fournisseur ou contacter vos administrateurs pour obtenir une assistance supplémentaire.
Pour plus d’informations sur les adresses IP de GitHub, telles que celles utilisées par les exécuteurs hébergés par GitHub, consultez À propos des adresses IP de GitHub.
Des adresses IP statiques sont disponibles pour les exécuteurs de plus grande taille hébergés par GitHub. Pour plus d’informations, consultez « Gestion des exécuteurs de plus grande taille ».
Systèmes d’exploitation et applications logicielles
En plus des pare-feu ou des proxys, les personnalisations effectuées sur les exécuteurs hébergés par GitHub, telles que l’installation de packages logiciels supplémentaires, peuvent entraîner des perturbations de communication. Pour plus d’informations sur les options de personnalisation disponibles, consultez Personnalisation des exécuteurs hébergés par GitHub.
-
Pour les exécuteurs auto-hébergés, découvrez-en plus sur les points de terminaison nécessaires dans Référence des exécuteurs auto-hébergés.
-
Pour obtenir de l’aide sur la configuration de WireGuard, consultez Utilisation de WireGuard pour créer un réseau de superposition.
-
Pour plus d’informations sur la configuration d’OpenID Connect (OIDC), consultez Utilisation d’une passerelle API avec OIDC.
Mise en réseau privée Azure pour les exécuteurs hébergés par GitHub
Des problèmes peuvent survenir lors de l’utilisation des exécuteurs hébergés par GitHub dans vos paramètres Azure Virtual Networks (VNET) configurés.
Pour obtenir des conseils de résolution des problèmes, consultez Dépannage des configurations réseau privé Azure pour les exécuteurs hébergés par GitHub dans votre organisation. ou Résolution des problèmes liés aux configurations de réseau privé Azure pour les exécuteurs hébergés par GitHub dans votre entreprise dans la documentation GitHub Enterprise Cloud.