GitHub Code Coverage sebagai merge protection: tentukan kontrak sebelum angka
Apa yang terjadi
GitHub mengumumkan pada 30 Juni 2026 merge protection untuk pull request melalui GitHub Code Coverage. PR dapat diblokir jika threshold coverage atau code quality tidak terpenuhi.
Mengapa penting
Perubahannya penting karena sinyal coverage masuk ke alur code review dan ruleset, bukan hanya dashboard terpisah.
Sinyal komunitas
Sinyal komunitas sudah lama jelas: coverage tinggi tidak selalu berarti test berkualitas, tetapi regression yang dibiarkan akan menjadi utang teknis.
Dampak operasional
Pisahkan total coverage dan diff coverage. Total coverage menunjukkan kesehatan jangka panjang; diff coverage menunjukkan apakah perubahan baru menambah kode tanpa test.
Checklist
Mulai dari soft fail, catat baseline branch utama, kecualikan generated code dan migration secara eksplisit, dan tentukan siapa yang boleh menyetujui penurunan coverage.
Risiko
Risikonya adalah false confidence dan CI yang lambat. Gate ini harus melengkapi assertion, integration test, dan review manusia.
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.
Sumber
- 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