Plan de correction Gh Pr Checks
Aperçu
Utiliser gh pour localiser les vérifications PR défaillantes, récupérer les logs GitHub Actions pour les défaillances exploitables, résumer l'extrait de défaillance, puis proposer un plan de correction et l'implémenter après approbation explicite.
- Si une skill orientée plan (par exemple
create-plan) est disponible, l'utiliser ; sinon, rédiger un plan concis inline et demander l'approbation avant l'implémentation.
Prérequis : s'authentifier avec le GitHub CLI standard une fois (par exemple, exécuter gh auth login), puis confirmer avec gh auth status (les scopes repo + workflow sont généralement requis).
Entrées
repo: chemin dans le repository (par défaut.)pr: numéro ou URL de PR (optionnel ; par défaut la PR de la branche courante)- authentification
ghpour l'hôte du repo
Démarrage rapide
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- Ajouter
--jsonsi vous voulez une sortie lisible par machine pour la synthèse.
Flux de travail
- Vérifier l'authentification gh.
- Exécuter
gh auth statusdans le repo. - Si non authentifié, demander à l'utilisateur d'exécuter
gh auth login(en veillant à inclure les scopes repo + workflow) avant de continuer.
- Exécuter
- Résoudre la PR.
- Préférer la PR de la branche courante :
gh pr view --json number,url. - Si l'utilisateur fournit un numéro ou une URL de PR, l'utiliser directement.
- Préférer la PR de la branche courante :
- Inspecter les vérifications défaillantes (GitHub Actions uniquement).
- Préféré : exécuter le script fourni (gère la dérive de champs gh et les fallbacks log-job) :
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>"- Ajouter
--jsonpour une sortie lisible par machine.
- Fallback manuel :
gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow- Si un champ est rejeté, relancer avec les champs disponibles rapportés par
gh.
- Si un champ est rejeté, relancer avec les champs disponibles rapportés par
- Pour chaque vérification défaillante, extraire l'id de run de
detailsUrlet exécuter :gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headShagh run view <run_id> --log
- Si le log de run indique qu'il est encore en cours, récupérer les logs de job directement :
gh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs" > "<path>"
- Préféré : exécuter le script fourni (gère la dérive de champs gh et les fallbacks log-job) :
- Circonscrire les vérifications non-GitHub Actions.
- Si
detailsUrln'est pas un run GitHub Actions, l'étiqueter comme externe et ne rapporter que l'URL. - Ne pas tenter Buildkite ou d'autres fournisseurs ; maintenir le flux de travail léger.
- Si
- Résumer les défaillances pour l'utilisateur.
- Fournir le nom de la vérification défaillante, l'URL du run (le cas échéant), et un extrait de log concis.
- Signaler explicitement les logs manquants.
- Créer un plan.
- Utiliser la skill
create-planpour rédiger un plan concis et demander l'approbation.
- Utiliser la skill
- Implémenter après approbation.
- Appliquer le plan approuvé, résumer les diffs/tests, et demander si ouvrir une PR.
- Revérifier le statut.
- Après les modifications, suggérer de relancer les tests concernés et
gh pr checkspour confirmer.
- Après les modifications, suggérer de relancer les tests concernés et
Ressources fournies
scripts/inspect_pr_checks.py
Récupérer les vérifications PR défaillantes, extraire les logs GitHub Actions et obtenir un extrait de défaillance. Sort avec un code non-zéro quand des défaillances restent pour pouvoir être utilisé en automation.
Exemples d'utilisation :
python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123"python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --jsonpython "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40