GitHub Code Coverage como proteção de merge: defina o contrato antes do número
O que aconteceu
O GitHub anunciou em 30 de junho de 2026 merge protection para pull requests usando GitHub Code Coverage. Um PR pode ser bloqueado quando não cumprir thresholds de cobertura ou qualidade.
Por que importa
A mudança coloca cobertura dentro do fluxo de review e de rulesets, em vez de deixá-la apenas em um painel externo.
Sinal da comunidade
A comunidade já discute esse tema há anos: cobertura alta não prova qualidade, mas regressões sem controle viram dívida de testes.
Impacto operacional
Separe total coverage de diff coverage. A primeira mede saúde de longo prazo; a segunda mostra se o PR adiciona código sem proteção.
Checklist
Comece com soft fail, registre a baseline da branch principal, exclua generated code e migrações, e defina quem aprova quedas de cobertura.
Riscos
O risco é criar confiança falsa ou CI lento. O gate complementa boas assertions, testes de integração e review humano.
Rollout checklist
• Start with a baseline, not an ideal target.
• Separate total coverage from diff coverage.
• Document exclusions and exception approvers.
• Use soft fail before hard enforcement.
Fontes
- GitHub Changelog: GitHub Code Coverage merge protection for pull requests
- GitHub Docs: Setting pull request thresholds for code quality and coverage
- GitHub Docs: Setting up code coverage for your repository
- GitHub Docs: About GitHub Code Quality
- GitHub Docs: About status checks
- GitHub Docs: About protected branches
- GitHub Docs: Interpreting code quality results