GitHub Code Coverage merge protection: ตกลงสัญญาก่อนเลือกเปอร์เซ็นต์
เกิดอะไรขึ้น
GitHub ประกาศเมื่อ 30 มิถุนายน 2026 ว่า GitHub Code Coverage สามารถใช้เป็น merge protection สำหรับ pull request ได้ ถ้า PR ไม่ผ่าน threshold ก็ block merge ได้
ทำไมจึงสำคัญ
ความสำคัญคือ coverage เข้ามาอยู่ใน code review, ruleset และ branch protection ไม่ใช่แค่ report แยกต่างหาก
สัญญาณจากชุมชน
ชุมชนนักพัฒนาถกเถียงเรื่องนี้มานาน coverage สูงไม่ได้แปลว่า test ดีเสมอ แต่ปล่อยให้ coverage ลดลงเรื่อยๆ ก็สร้างหนี้ test
ผลต่อการปฏิบัติการ
ควรแยก total coverage กับ diff coverage ออกจากกัน ตัวแรกคือสุขภาพระยะยาว ส่วนตัวหลังดูว่า PR นี้เพิ่ม code ที่ยังไม่มี test หรือไม่
เช็กลิสต์
เริ่มจาก soft fail, เก็บ baseline ของ main, exclude generated code และ migration, และกำหนดคนอนุมัติ exception
ความเสี่ยง
ความเสี่ยงคือความมั่นใจปลอมและ CI ช้า gate นี้ต้องเสริม assertion, integration test และ human 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.
แหล่งข้อมูล
- 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