GitHub Code Coverage merge protection: chốt hợp đồng vận hành trước khi chọn con số
Điều gì đã xảy ra
GitHub công bố ngày 30/6/2026 merge protection cho pull request thông qua GitHub Code Coverage. PR có thể bị chặn nếu không đạt threshold coverage hoặc code quality.
Vì sao quan trọng
Điểm đáng chú ý là coverage đi vào review flow, ruleset và branch protection, thay vì chỉ nằm trong dashboard riêng.
Tín hiệu cộng đồng
Cộng đồng đã tranh luận lâu về coverage threshold: coverage cao không bảo đảm test tốt, nhưng để coverage tụt dần sẽ tạo nợ test.
Tác động vận hành
Hãy tách total coverage và diff coverage. Cái đầu đo sức khỏe dài hạn; cái sau cho biết PR có thêm code chưa được test hay không.
Checklist
Bắt đầu bằng soft fail, lưu baseline của main, loại trừ generated code và migration rõ ràng, định nghĩa người phê duyệt ngoại lệ.
Rủi ro
Rủi ro là false confidence và CI chậm. Gate này bổ sung cho assertion tốt, integration test và human review, không thay thế chúng.
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.
Nguồn
- 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