Skip to content
Apothem
الحوكمة

سياسة هندسة الإصدار

خمس سياسات كانونية لإدارة الإصدارات، ووسم الإصدارات، ودورات الإهمال، والتغييرات الكاسرة، وإجراءات التراجع.

تحكم خمس سياسات كيفية إصدار apothem.

1. الإصدار الدلالي

يُوزَّع المشروع وفق الإصدار الدلالي 2.0. تأخذ أرقام الإصدار الشكل MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD].

الترقيةالمُحفِّزات
MAJORتغييرات كاسرة في مخططات المنتجات، أو معرّفات التفويض (CM-N / TM-N / CP-N)، أو عقود الخطافات
MINORقواعد جديدة، أو عمّال مفوَّضون، أو أوامر، أو مهارات، أو أحداث خطافات، أو امتدادات مخطط غير كاسرة
PATCHتوضيحات، وإضافات أنماط مضادة، وإصلاحات توثيق، وتعديلات لا تغيّر السلوك

تستخدم وسوم المرشحين الصيغة vX.Y.Z-rc.N (مرشح الإصدار) أو vX.Y.Z-alpha.N / vX.Y.Z-beta.N (وصول مبكر).

2. وسوم الإصدار

يضع كل إصدار وسم git موقَّعًا بالشكل vMAJOR.MINOR.PATCH على main. يُحفِّز الوسم .github/workflows/release.yml الذي يبني، ويوقّع، ويولّد SBOM وإثبات المنشأ SLSA-3، و ينشر صفحة GitHub Release.

أعراف الوسم:

  • الصيغة — بالضبط vMAJOR.MINOR.PATCH. بلا بادئة release-، وبلا لاحقة -final.
  • التعليق التوضيحي — كل وسم هو وسم معلَّق (git tag -a -s) يحمل ملخص ملاحظات الإصدار في رسالة الوسم.
  • التوقيع — كل وسم موقَّع بـ GPG. وينتج سير عمل الإصدار إضافةً إلى ذلك توقيع Sigstore اللامفتاحي بـ cosign على كل منتج، وبرهان منشأ الإصدار SLSA-3، وكلاهما مرفق بصفحة GitHub Release.

3. سياسة الإهمال

خط الدعم العام الحالي هو أحدث إصدار ثانوي صادر. وعندما يكون للمشروع عدة إصدارات ثانوية عامة، تكون مصفوفة الإصدارات المدعومة في SECURITY.md مصدر الحقيقة لأي نوافذ دعم إضافية مقتصرة على الإصلاحات الحرجة.

إيقاع الإهمال:

  • الإعلان — يُعلَن عن أي رمز أو سلوك مُهمَل في قسم ### Deprecated من CHANGELOG.md الخاص بالإصدار الذي يهبط فيه الإهمال. وتعكس ملاحظات الإصدار إعلان الإهمال.
  • نافذة المهلة — تظل الرموز المُهمَلة متاحة لمدة دورة ثانوية كاملة على الأقل قبل الإزالة.
  • الإزالة — تهبط الإزالة في ترقية MAJOR. ويحمل كل رمز مُزال سطر ### Removed في CHANGELOG.md ومدخل دليل ترحيل ضمن الأدلة الإرشادية.

4. سياسة التغييرات الكاسرة

تتطلب التغييرات الكاسرة:

  1. مشكلة RFC — تُفتَح بوسم المشكلة rfcs تصف التغيير الكاسر، ومسار الترحيل، و استراتيجية التراجع.
  2. نافذة تعليقات مدتها 30 يومًا — تظل الـ RFC مفتوحة لمدة لا تقل عن 30 يومًا قبل الدمج. وللمشرفين تمديد النافذة عندما تبرر الملاحظات ذلك.
  3. ترقية MAJOR — الإصدار الذي يهبط فيه التغيير الكاسر يرفع مكوّن MAJOR.
  4. دليل ترحيل — يُشحَن التغيير مع مدخل الأدلة الإرشادية يقود المشغّل عبر الترحيل.

5. سياسة التراجع

إذا أظهر إصدار ما انحدارًا يعيق التبنّي:

  1. التراجع — تُعاد إيداعات الالتزام المخالفة على main.
  2. إعادة الوسم بإصدار-زائد-واحد — يهبط إصدار متابعة بوصفه vMAJOR.MINOR.PATCH+1 يحمل التراجع إضافةً إلى أي إصلاحات تدريجية. ولا يُحذَف الإصدار المعيب السابق من GitHub Releases — بل يوثّق تعليق ### Yanked في CHANGELOG.md الموقف لتبقى عمليات البناء القابلة لإعادة الإنتاج مرتبطة بمرجع ثابت.
  3. التواصل — يصحب التراجع إشعار security-advisories (عندما يكون متعلقًا بالأمن) أو منشور Discussions (عندما يكون متعلقًا بالموثوقية).

انظر أيضًا

  • CHANGELOG.md — سجل الإصدارات الكانوني.
  • SECURITY.md — مصفوفة الإصدارات المدعومة وقنوات الإبلاغ.
  • cicd-pipeline.md — فئات فحوص CI العشر التي تُبوِّب كل إصدار.
  • deployment-checklist.md — مسح الجاهزية للإنتاج لكل إصدار.

On this page