GitHub Code Coverage merge protection: chốt hợp đồng vận hành trước khi chọn con số

Dev
GitHub có thể dùng threshold coverage và code quality để bảo vệ merge PR. Trước khi đặt 80%, hãy định nghĩa baseline, diff coverage, ngoại lệ và rollout.
Coverage gate tốt biến rủi ro của thay đổi thành cuộc thảo luận review rõ ràng.

Đ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