RFC: استراتيجية إصدار جديدة لـ Discourse

القصد هو العكس. فروع التوافق مخصصة فقط للفروع “المُصدرة” من Discourse. سيستخدم Discourse latest دائمًا main الخاص بإضافتك. هناك ستطور الميزات الجديدة.

لذا، ستكون القصة كالتالي:

يقوم Discourse بإصدار v2026.2. تقوم إجراءات GitHub على إضافتك تلقائيًا باكتشاف ذلك وتقوم بإنشاء فرع d-compat/v2026.2. الآن، أي شخص يستخدم Discourse v2026.2 سيستخدم إصدار d-compat/v2026.2 من إضافتك.

تقوم بإصدار ميزة جديدة على main الخاص بإضافتك. لا تحتاج إلى التفكير في التوافق مع الإصدارات السابقة، لأن فرع main يستخدمه فقط الأشخاص الذين يشغلون Discourse latest.

ثم، أثناء احتسائك لكأسك الثالث من النبيذ :wine_glass:، يقوم Discourse بإنشاء v2026.3. في البداية، لا يوجد فرع إضافة لهذا الإصدار، لذلك سيتم استخدام main. تستمر الأمور في العمل كما كانت عليه بالنسبة للأشخاص على latest.

في غضون ساعات، تكتشف إجراءات GitHub الخاصة بك الإصدار الجديد وتقوم بتجميد d-compat/v2026.3، جاهزًا لهبوط ميزة إضافتك التالية على main دون مخاوف بشأن التوافق مع الإصدارات السابقة.

هذه هي في الأساس سير العمل التي نستخدمها في CDCK للتعامل مع التوافق المستقر للسمات/الإضافات. بعد كل إصدار مستقر، لدينا نص برمجي لتشغيل مئات السمات/الإضافات الخاصة بنا وتجميدها عبر .discourse-compatibility. يهدف هذا الاقتراح القائم على الفروع إلى أن يكون نسخة أخف من سير العمل هذا.

16 إعجابًا