Guia técnico · Fluxo de Pull Request
Bloqueio de merge automático no GitHub com GitHub Checks obrigatório
“PR ruim foi mergeado porque ninguém revisou a tempo” é um problema comum em times sem um processo de revisão obrigatório. Este guia explica como o GitHub permite bloquear merge automaticamente até que certas condições sejam cumpridas, e como uma ferramenta de revisão por IA se encaixa nesse fluxo.
O que são GitHub Checks obrigatórios
O GitHub permite configurar regras de proteção de branch (branch protection rules) na branch principal de um repositório. Uma dessas regras é exigir que determinados status checks — verificações automatizadas, como testes, linters ou uma revisão de segurança — terminem com sucesso antes que o botão de merge fique disponível. Sem essa configuração, qualquer PR pode ser mergeado a qualquer momento, independentemente do que os checks reportarem.
O problema que isso resolve
Sem checks obrigatórios, a qualidade do merge depende inteiramente de disciplina humana — alguém precisa lembrar de esperar a revisão antes de mergear, mesmo sob pressão de prazo. Em times grandes ou com múltiplos fusos horários, é comum um PR ser mergeado antes que um revisor humano (ou uma análise automatizada) tenha terminado de avaliar o código. Tornar o check obrigatório remove essa dependência de lembrar — o próprio GitHub impede o merge até a condição ser satisfeita.
Como configurar (visão geral)
- Acesse as configurações do repositório no GitHub, em Settings → Branches.
- Crie ou edite uma regra de proteção para a branch principal (geralmente main).
- Ative a opção de exigir que os status checks passem antes do merge, e selecione quais checks são obrigatórios (por exemplo, o check publicado por uma ferramenta de revisão automatizada instalada como GitHub App).
- Salve a regra — a partir daí, qualquer PR que não cumprir os checks selecionados não poderá ser mergeado pela interface do GitHub.
Como uma revisão por IA se conecta a esse fluxo
Uma ferramenta de revisão automatizada instalada como GitHub App publica seu próprio status de verificação (check) em cada Pull Request. O Akira funciona assim: a cada PR, publica um comentário de revisão e um status de check na própria timeline do GitHub. Se o repositório configurar esse check como obrigatório (seguindo os passos acima), o merge fica condicionado a essa verificação — a decisão de tornar o check obrigatório é sempre do time, feita nas configurações do próprio GitHub, não algo imposto pela ferramenta.