Skip to content
Apothem
Keamanan

Proteksi branch

Proteksi branch Apothem pada main — gerbang tinjauan, gating melalui pemeriksaan status, dan pembatasan push.

Branch main Apothem dilindungi oleh proteksi branch GitHub setelah commit rilis baru tunggal dipublikasikan. Proteksi ini menegakkan disiplin set-perubahan yang dideklarasikan di rules/production-ready-prs.md dan memasok pemeriksaan Branch-Protection serta Code-Review OpenSSF Scorecard untuk pekerjaan mendatang.

Deklarasi set aturan

PengaturanNilaiAlasan
TargetmainMelindungi branch default publik.
Status penegakanactiveBukan mode uji-coba.
Wajibkan pull request sebelum mergePush langsung ke main diblokir.
Tinjauan persetujuan yang diperlukan1Gerbang tinjauan manusia minimum untuk proyek pemelihara-tunggal baru.
Buang persetujuan usang pada commit baruForce-push setelah persetujuan memicu ulang tinjauan.
Wajibkan tinjauan dari Code OwnersDitundaMengaktifkan ini sebelum pemelihara kedua bergabung dapat membuat PR pemelihara-tunggal menemui jalan buntu.
Wajibkan persetujuan atas push yang dapat ditinjau paling baruCommit yang di-push paling baru harus membawa persetujuan.
Resolusi percakapan yang diperlukanThread tinjauan yang terbuka memblokir merge.
Wajibkan pemeriksaan status lulusWorkflow CI + Scorecard + CodeQL + pip-audit.
Pemeriksaan status yang diperlukanPemeriksaan inti saat iniDaftar yang diperlukan disegarkan dari commit rilis hijau terbaru.
Wajibkan branch dalam keadaan terkiniMencegah regresi merge usang.
Wajibkan commit yang ditandatanganiDirekomendasikanCommit rilis lokal ditandatangani; penegakan penuh menunggu hingga dokumentasi onboarding kontributor menjelaskan penyiapan SSH/GPG.
Wajibkan riwayat linearMenjaga riwayat publik garis-tunggal tetap dapat dipahami.
Blokir force-pushPenulisan ulang riwayat pada main diblokir.
Izinkan penghapusanBranch main tidak dapat dihapus.

Batasan pemelihara-tunggal

GitHub tidak mengizinkan berkas repositori membuat riwayat tinjauan manusia. Oleh karena itu repositori menerapkan proteksi branch terkuat yang tidak menemui jalan buntu untuk model pemeliharanya saat ini: satu tinjauan persetujuan, pembuangan tinjauan usang, persetujuan push terbaru, resolusi percakapan, pemeriksaan status, riwayat linear, serta tanpa penghapusan branch atau force-push. Ketika pemelihara kedua bergabung, tinjauan CODEOWNERS dan minimum dua peninjau akan menjadi pengaturan yang lebih kuat.

Persyaratan pemeriksaan status

Empat pemeriksaan status gating-keras yang dideklarasikan di atas:

  • ci — matriks pengujian lengkap + ruff + mypy + bandit + Trivy + pip-audit pada pohon dependensi yang teresolusi
  • Scorecard — eksekusi OpenSSF Scorecard tanpa regresi per-pemeriksaan
  • CodeQL — paket kueri security-extended untuk python + actions
  • pip-audit — pemindaian kerentanan mingguan + per-PR terhadap pohon dependensi yang teresolusi

Workflow lain mana pun boleh melaporkan status, tetapi hasilnya tidak melakukan gating terhadap merge kecuali dipromosikan ke dalam daftar pemeriksaan yang diperlukan.

Irama audit

Berkas ini ditinjau pada setiap audit keamanan dan pada setiap checkpoint rekayasa rilis. Penyimpangan antara berkas ini dan konfigurasi proteksi branch yang sebenarnya merupakan temuan dengan keparahan tinggi.

Referensi

On this page