Skip to content

fix: Adiciona action de diagnóstico de PRs com commits depois do rebase de ajuste da main.#424

Merged
MilenaFRocha merged 1 commit into
mainfrom
fix/diagnostico_prs_com_action
Jul 1, 2026
Merged

fix: Adiciona action de diagnóstico de PRs com commits depois do rebase de ajuste da main.#424
MilenaFRocha merged 1 commit into
mainfrom
fix/diagnostico_prs_com_action

Conversation

@MilenaFRocha

Copy link
Copy Markdown
Contributor

Descrição

Adiciona um workflow de diagnóstico para PRs que ficaram com histórico divergente após reescrita/force-push da main.

O workflow identifica PRs abertos com divergência anômala, classifica o histórico como normal, linear, contaminated ou manual, e publica comentários com comandos de correção assistida quando necessário. A automação não executa código dos PRs e não faz push/reescrita automática de branches.

Antes de abrir este PR, consulte o Protocolo de Aprovação de Pull Requests.

Tipo de mudança

  • Nova funcionalidade / pipeline
  • Correção de bug ou inconsistência de dados
  • Refatoração de modelo DBT
  • Documentação
  • Infraestrutura / CI
  • Outro: ___

Issues relacionadas

Closes #385

Domínio de revisão

  • GCES / OSS
  • IPEA
  • MIR
  • MCid
  • MinC
  • OSS
  • Múltiplos domínios: ___

Como testar / validar

Validação local executada:

python3 -c 'import yaml, sys; yaml.safe_load(open(sys.argv[1])); print("yaml ok")' .github/workflows/diagnose-rebase-pr.yaml

awk 'found { if ($0 ~ /^          /) print substr($0, 11); else if ($0 !~ /^$/) found=0 } /run: \|/ { found=1 }' .github/workflows/diagnose-rebase-pr.yaml \
  | sed 's/${{[^}][^}]*}}/0/g' \
  | bash -n

Também foram testadas localmente as heurísticas do workflow em PRs abertos do repositório oficial, incluindo casos:

  • normal: PRs sem divergência anômala, sem comentário por padrão;
  • linear: PRs corrigíveis por git rebase --onto;
  • contaminated: PRs com histórico contaminado por merges/commits herdados, com orientação manual segura.

Foram simulados rebases locais em PRs lineares, sem push, confirmando contagens finais esperadas como 0 1, 0 2 e 0 3.

Evidências

  • Workflow adicionado em .github/workflows/diagnose-rebase-pr.yaml.
  • O workflow possui permissões mínimas:
    • contents: read
    • pull-requests: read
    • issues: write
  • O workflow não executa código de PRs e apenas trata commits/diffs como dados.
  • O modo em lote usa workflow_dispatch com pr_number=all e pula PRs classificados como normal por padrão.

Checklist

  • Título do PR segue Conventional Commits
  • Issue relacionada foi referenciada
  • Testes/lint foram executados ou a ausência foi justificada
  • Testes DBT adicionados/atualizados, se aplicável
  • Documentação atualizada, se aplicável
  • Sem dados sensíveis ou credenciais no código
  • Branch atualizada com upstream/main ou origin/main
  • Revisores automáticos por domínio foram solicitados pelo GitHub ou justificados no PR

…se de ajuste da main.

Co-authored-by: Lucas Martins <lucasmartinsgabriel@gmail.com>
@sonarqubecloud

Copy link
Copy Markdown

@MilenaFRocha MilenaFRocha merged commit ca91396 into main Jul 1, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Criar solução centralizada na main para corrigir histórico de PRs abertos

2 participants