Skip to content
Apothem
الأمان

حماية الفرع

حماية فرع Apothem على main — بوّابة المراجعة، البوْبَنة عبر فحوص الحالة، وقيود الدفع.

فرع main الخاص بِـ Apothem محميٌّ بحماية فرع GitHub بعد نشر التزام الإصدار الجديد الوحيد. تَفرِض هذه الحماية انضباط مجموعة-التغيير المُعلَن في rules/production-ready-prs.md وتُغذّي فحصَي Branch-Protection وCode-Review في OpenSSF Scorecard للعمل المستقبلي.

إعلان مجموعة القواعد

الإعدادالقيمةالمسوّغ
الهدفmainيحمي الفرع الافتراضي العام.
حالة الفرضactiveليس في وضع التشغيل-التجريبي.
اشتراط طلب سحب قبل الدمجالدفع المباشر إلى main محظور.
المراجعات المُوافِقة المطلوبة1الحدّ الأدنى من بوّابة المراجعة البشرية لمشروع جديد بمشرف-منفرد.
إسقاط الموافقات القديمة عند الالتزامات الجديدةالدفع القسري (force-push) بعد الموافقة يُعيد إطلاق المراجعة.
اشتراط مراجعة من Code Ownersمؤجَّلتفعيل هذا قبل انضمام مشرف ثانٍ قد يُوقِع طلبات سحب المشرف-المنفرد في طريق مسدود.
اشتراط موافقة أحدث دفعة قابلة للمراجعةيجب أن يحمل أحدث التزام مدفوع موافقةً.
اشتراط حلّ المحادثاتخيوط المراجعة المفتوحة تَحجب الدمج.
اشتراط نجاح فحوص الحالةسير عمل CI + Scorecard + CodeQL + pip-audit.
فحوص الحالة المطلوبةالفحوص الأساسية الحاليةتُحدَّث القائمة المطلوبة من أحدث التزام إصدار أخضر.
اشتراط تحديث الفروعيمنع انحدارات الدمج القديم.
اشتراط التزامات موقَّعةمُوصًى بهالتزامات الإصدار المحلّية موقَّعة؛ الفرض الكامل ينتظر حتى تَصِف وثائق إدماج المساهمين إعداد SSH/GPG.
اشتراط تاريخ خطّييُبقي التاريخ العام أحادي-الخط مفهومًا.
حجب الدفع القسريإعادة كتابة التاريخ على main محظورة.
السماح بالحذفلا يمكن حذف فرع main.

قيد المشرف-المنفرد

لا يسمح GitHub لملفات المستودع بإنشاء تاريخ مراجعة بشرية. لذلك يُطبّق المستودع أقوى حماية فرع لا تُسبِّب طريقًا مسدودًا لنموذج مشرفه الحالي: مراجعة مُوافِقة واحدة، إسقاط المراجعة القديمة، موافقة آخر دفعة، حلّ المحادثات، فحوص الحالة، تاريخ خطّي، ودون حذف فرع أو دفع قسري. عندما ينضمّ مشرف ثانٍ، تصبح مراجعة CODEOWNERS والحدّ الأدنى من مُراجِعَين هي الإعداد الأقوى.

متطلبات فحوص الحالة

فحوص الحالة الأربعة ذات البوْبَنة الصارمة المُعلَنة أعلاه:

  • ci — مصفوفة اختبار كاملة + ruff + mypy + bandit + Trivy + pip-audit على شجرة التبعيات المُحلَّلة
  • Scorecard — تشغيل OpenSSF Scorecard دون انحدار لكل-فحص
  • CodeQL — حِزَم استعلام security-extended لِـ python + actions
  • pip-audit — مسح ثغرات أسبوعي + لكل-طلب-سحب مقابل شجرة التبعيات المُحلَّلة

قد يُبلِّغ أي سير عمل آخر عن حالة، لكن نتيجته لا تُبوْبِن الدمج ما لم تُرَقَّ إلى قائمة الفحوص المطلوبة.

إيقاع التدقيق

تُراجَع هذه الملفّ في كل تدقيق أمني وعند كل نقطة تفتيش لهندسة-الإصدار. الانحراف بين هذا الملفّ والتهيئة الفعلية لحماية الفرع هو اكتشاف عالي الخطورة.

المراجع

On this page