Gh Pr Checks Plan Fix (Correção de Verificações de PR com Plano)
Visão Geral
Use o gh para localizar verificações de PR com falha, obter logs do GitHub Actions para falhas acionáveis, resumir o trecho da falha e, em seguida, propor um plano de correção que será implementado após aprovação explícita.
- Depende da skill
planpara elaborar e aprovar o plano de correção.
Pré-requisito: certifique-se de que o gh esteja autenticado (por exemplo, execute gh auth login uma vez) e então execute gh auth status com permissões elevadas (incluindo escopos de workflow/repo) para que os comandos gh funcionem. Se o sandbox bloquear gh auth status, execute-o novamente com sandbox_permissions=require_escalated.
Entradas
repo: caminho dentro do repositório (padrão.)pr: número ou URL do PR (opcional; padrão é o PR da branch atual)- Autenticação
ghpara o host do repositório
Início Rápido
python "<caminho-para-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<número-ou-url>"- Adicione
--jsonse desejar saída amigável para máquina para sumarização.
Fluxo de Trabalho
- Verifique a autenticação do gh.
- Execute
gh auth statusno repositório com escopos elevados (workflow/repo) após executargh auth login. - Se a verificação de status com sandbox falhar, execute novamente o comando com
sandbox_permissions=require_escalatedpara permitir acesso à rede/keyring. - Se não autenticado, peça ao usuário para fazer login antes de prosseguir.
- Execute
- Resolva o PR.
- Prefira o PR da branch atual:
gh pr view --json number,url. - Se o usuário fornecer um número ou URL de PR, use-o diretamente.
- Prefira o PR da branch atual:
- Inspecione verificações com falha (apenas GitHub Actions).
- Preferido: execute o script incluído (lida com desvios de campos do gh e fallbacks de logs de jobs):
python "<caminho-para-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<número-ou-url>"- Adicione
--jsonpara saída amigável para máquina.
- Fallback manual:
gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow- Se um campo for rejeitado, execute novamente com os campos disponíveis informados pelo
gh.
- Se um campo for rejeitado, execute novamente com os campos disponíveis informados pelo
- Para cada verificação com falha, extraia o id da execução de
detailsUrle execute:gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headShagh run view <run_id> --log
- Se o log da execução indicar que ainda está em andamento, busque os logs do job diretamente:
gh api "/repos/<dono>/<repo>/actions/jobs/<job_id>/logs" > "<caminho>"
- Preferido: execute o script incluído (lida com desvios de campos do gh e fallbacks de logs de jobs):
- Escopo de verificações não-GitHub Actions.
- Se
detailsUrlnão for uma execução do GitHub Actions, classifique-a como externa e apenas reporte a URL. - Não tente Buildkite ou outros provedores; mantenha o fluxo de trabalho enxuto.
- Se
- Resuma as falhas para o usuário.
- Forneça o nome da verificação com falha, URL da execução (se houver) e um trecho conciso do log.
- Destaque explicitamente logs ausentes.
- Crie um plano.
- Use a skill
planpara elaborar um plano conciso e solicitar aprovação.
- Use a skill
- Implemente após aprovação.
- Aplique o plano aprovado, resuma diffs/testes e pergunte sobre abrir um PR.
- Reavalie o status.
- Após as alterações, sugira executar novamente os testes relevantes e
gh pr checkspara confirmar.
- Após as alterações, sugira executar novamente os testes relevantes e
Recursos Inclusos
scripts/inspect_pr_checks.py
Busque verificações de PR com falha, obtenha logs do GitHub Actions e extraia um trecho da falha. Sai com código diferente de zero quando ainda há falhas, para uso em automação.
Exemplos de uso:
python "<caminho-para-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "123"python "<caminho-para-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "https://github.com/org/repo/pull/123" --jsonpython "<caminho-para-skill>/scripts/inspect_pr_checks.py" --repo "." --max-lines 200 --context 40