GitHub Code Coverage как merge protection: сначала контракт, потом процент

Dev
GitHub позволяет использовать пороги coverage и code quality как защиту PR. До правила 80% стоит определить baseline, diff coverage, исключения и rollout.
Coverage gate должен фиксировать риск изменения, а не превращать качество в магическое число.

Что произошло

GitHub 30 июня 2026 года объявила merge protection для pull requests через GitHub Code Coverage. PR можно блокировать, если он не проходит пороги coverage или code quality.

Почему это важно

Главное изменение в том, что coverage становится частью review flow, rulesets и branch protection, а не только внешним отчетом.

Сигнал сообщества

Сообщество давно спорит о thresholds: высокая coverage не доказывает качество, но неконтролируемые падения создают долг тестирования.

Операционный эффект

Лучше разделять total coverage и diff coverage. Первая показывает здоровье репозитория, вторая отвечает за новый непокрытый код в PR.

Чеклист

Начните с soft fail, сохраните baseline main branch, явно исключите generated code и migrations, назначьте владельцев исключений.

Риски

Риски: ложная уверенность и медленный CI. Gate не заменяет качественные assertions, integration tests и человеческий review.

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.

Источники

다른 글