يحتفظ Bazel بنموذج إصدار الدعم الطويل الأمد (LTS)، حيث يتم طرح إصدار رئيسي كل تسعة أشهر ويتم إصدار الإصدارات الثانوية شهريًا. تغطي هذه الصفحة سياسة الإصدار Bazel، بما في ذلك مرشحي الإصدارات والمخططات الزمنية والإعلانات والاختبار.
يمكن العثور على إصدارات Bazel على GitHub.
المرشّحون الجدد
عادةً ما يتم إنشاء المرشح للإصدار الجديد من Bazel في بداية كل شهر. يتم تتبُّع العمل من خلال خطأ إصدار في GitHub يشير إلى تاريخ إصدار مستهدَف، ويتم إسناده إلى مدير الإصدار الحالي. ويجب أن يجتاز المرشحون للإصدار جميع اختبارات وحدات Bazel وألا يعرضوا أي تراجع غير مرغوب فيه في المشاريع التي يتم اختبارها على Buildkite.
يتم الإعلان عن المرشحين في الإصدار على bazel-مناقشة. خلال الأيام المقبلة، يرصد فريق Bazel تقارير الأخطاء في المنتدى بحثًا عن أي تراجع في المرشحين.
جارٍ الإصدار
وإذا لم يتم اكتشاف أي تراجع، يتم تحرير المرشح رسميًا بعد أسبوع واحد. ومع ذلك، يمكن أن يُؤدّي التراجع إلى تأخير إطلاق إصدار مرشّح. إذا تم العثور على حالات التراجع، يطبّق فريق Bazel اختيارات الكرز المقابلة على المرشح المُصدّر لإصلاح هذه التراجعات. إذا لم يتم العثور على أي تراجع جديد في غضون يومي عمل متتاليين بعد أسبوع واحد من موعد طرح المرشح للمرة الأولى،
لا يتمّ اختيار الميزات الجديدة في الفيديو المرشح بعد أن يتمّ اقتطاعه. إضافةً إلى ذلك، إذا كانت ميزة جديدة تتضمّن أخطاءً، قد يتمّ استرجاعها من مرشّح إصدار. لا يتم إصلاح سوى الأخطاء التي يُحتمل أن تحدث تأثيرًا كبيرًا أو يؤدي إلى تعطُّل إصدار الإصدار عند اقتراح إصدار بعد قصه.
ولا يتم طرح الإصدار إلا في يوم يكون فيه اليوم التالي يوم عمل.
إذا تم العثور على مشكلة حرجة في أحدث إصدار، ينشئ فريق Bazel إصدارًا مخصّصًا للتصحيح من خلال تطبيق الإصلاح على الإصدار. ولأنّ هذا التصحيح يحدّث إصدارًا حاليًا بدلاً من إنشاء إصدار جديد، يمكن طرحه في غضون يومَي عمل.
اختبار
يتم تشغيل الإصدار المسائي من كل المشاريع المُشغَّلة على ci.bazel.build، باستخدام البرامج الثنائية من Bazel التي يتم تصميمها مباشرةً، وإطلاق البرامج الثنائية. يتم إشعار المشاريع التي ستتأثر بتغيير مكثّف.
وعند إصدار مرشح مرشّح للإصدار، يتم اختبار مشاريع Google أخرى مثل TensorFlow على حزمة الاختبار الكاملة باستخدام البرامج الثنائية المرشحة للإصدار. إذا كان لديك مشروع مهم يستخدم Bazel، ننصحك بإنشاء عملية اختبار مبرمجة تتتبّع المرشح الحالي للإصدار والإبلاغ عن أي تراجع.