AMP

جدولة إصدار AMP

يتم إطلاق إصدار جديد من AMP إلى جميع صفحات AMP كل أسبوع في يوم الثلاثاء. بمجرد دمج تغيير في AMP في الفرع الرئيسي لمستودع amphtml، سيستغرق الأمر عادةً من أسبوع إلى أسبوعين حتى يتم تفعيل التغيير لجميع المستخدمين.

قنوات الإصدار

يتم توفير وقت تشغيل AMP والملحقات من خلال مجموعة متنوعة من قنوات الإصدار المختلفة. إذ تخدم كل قناة غرضًا للمطورين ولمشروع AMP HTML نفسه. راجع قسم وتيرة الإصدار للحصول على مزيد من التصنيف التفصيلي حول كيف ومتى يدخل الرمز من المستودع ampproject/amphtml في بناءات الإصدارات.

ولتحديد ما إذا كان قد تم تضمين طلب سحب في أي من قنوات الإصدار التالية، ابحث عن علامات GitHub المميزة استخدام طلب سحب: في Canary، أو استخدام طلب السحب: في Production، أو استخدم طلب السحب: في LTS (راجع قسم تحديد ما إذا كان التغيير الخاص بك في إصدار للحصول على مزيد من التفاصيل).

كل ليلة

يتم تحديث قناة الإصدار كل ليلة (كما يشير اسمها) كل ليلة من أيام الأسبوع. فهذه العملية تلقائية، وليس هناك ما يضمن خلو أي إصدار معين من إصدارات كل ليلة من الأخطاء أو المشكلات الأخرى. وكل ليلة بعد منتصف الليل (توقيت زمني لمنطقة المحيط الهادي)، يتم تحديد الالتزام "الأخضر" الأخير من اليوم ليكون نقطة توقف الإصدار. ويشير التصميم الأخضر إلى أن جميع الاختبارات الآلية قد اجتيزت في هذا الإصدار.

ويوفر إصدار كل ليلة آلية لاكتشاف المشكلات وحلها بسرعة وقبل أن تصل إلى قنوات الإصدار الأكثر زيارة أسبوعيًا. كما أنه يعمل على تقليل عدد المستخدمين المتأثرين بالمشكلات التي تم إدخالها حديثًا.

ومن الممكن الاشتراك في القناة كل ليلة، لاختبار طلبات السحب التي تم دمجها في الأيام القليلة الماضية. راجع قسم الاختيار في [DEVELOPING.md] للحصول على مزيد من التفاصيل.

أسبوعيًا

تُعد قنوات الإصدار الأسبوعية بمثابة قنوات الإصدار "الدائمة" الأساسية. إذ يتم كل أسبوع ترقية الإصدار الأولي من الأسبوع السابق إلى قناة الإصدار المستقرة، ويتم ترقية الإصدار الأخير من الأسبوع السابق إلى قنوات الإصدار التجريبية{/ strong4} والأولية (راجع الجدولة التفصيلية).

وهناك مجموعتان من تكوينات البناء المستخدمة في إنشاء بناءات الإصدار: تكوين canary وproduction. ويتم إنشاء قنوات الإصدار التجريبية والأولية من الالتزام نفسه. مع ذلك، تستخدم القناة التجريبية تكوين canary بينما تستخدم القناة  الأولية تكوين production. إذ يتيح تكوين canary المكونات والميزات التجريبية التي يمكن إيقاف تشغيلها في production. ومن الممكن الاشتراك في القنوات التجريبية أو الأولية عبر صفحة التجارب.

فيما يتم إنشاء قناة الإصدار المستقرة بتكوينproduction وعرضها على معظم زيارات AMP. ونظرًا لأن قناة الإصدار الأولية قد تم بناؤها أيضًا بتكوين production، فإنها تمثل البنية الدقيقة التي ستصبح مستقرة في الأسبوع التالي (مع إمكانية انتقاء المواد لإصلاح مشكلات اللحظة الأخيرة؛ راجع رمز المساهمة).

القنوات الأولية والتجريبية

يمثل كل من القناة الأولية والتجريبية قناتين مرشحتين للإصدار المسبق للإصدار المستقر التالي من AMP. فكل يوم ثلاثاء (باستثناء الأسابيع التي يوجد فيها عمليات تجميد للإصدار)، يتم ترقية إصدار كل ليلة الخاص بالأسبوع الماضي إلى قنوات تمكين مطوري البرامج لـ الإصدار الأولي والتجريبي. وبعد فترة يوم واحد حيث نتحقق من عدم إدخال أي ميزة أو تراجع في الأداء في هذه القنوات، فإننا نروج لهذا الإصدار يوم الأربعاء لجزء صغير من الزيارات. ويتم بعد ذلك ترقية هذا الإصدار نفسه إلى القناة المستقرة يوم الثلاثاء من الأسبوع التالي.

ومن الممكن الاشتراك في هذه القنوات. راجع قسم التمكين في [DEVELOPING.md] للحصول على مزيد من التفاصيل.

إذ يهدف الاشتراك في القناة الأولية إلى:

  • اختبار إصدار وقت تشغيل AMP الذي سيتم إصداره قريبًا وتشغيله
  • استخدام ضمان الجودة (QA) لضمان توافق موقعك مع الإصدار التالي من AMP

فيما تهدف القناة التجريبية إلى:

  • اختبار ميزات جديدة غير متوفرة بعد لجميع المستخدمين وتشغيلها
  • استخدام ضمان الجودة (QA) لضمان توافق موقعك مع الميزات القادمة من AMP التي لا تزال قيد التطوير

وقد تكون القناة التجريبية أقل استقرارًا وقد تحتوي على ميزات غير متوفرة حتى الآن لجميع المستخدمين.

الاستقرار طويل المدى

توفر قناة الإصدار الاستقرار طويل المدى إصدارًا مستقرًا سابقًا لفواصل زمنية مدتها شهر واحد. وفي ثاني يوم إثنين من كل شهر، يتم ترقية الإصدار المستقر الحالي إلى استقرار طويل المدى. وهذه القناة غير مستحسنة لجميع ناشري AMP. كما يتم توفيرها بحيث يمكن للناشرين الذين يرغبون في إجراء دورة ضمان الجودة على مواقع الويب لديهم في كثير من الأحيان القيام بذلك عن طريق اختيار صفحات ويب معينة في القناة استقرار طويل المدى (راجع قراءة تعليمات الاستقرار طويل المدى).

وإذا صادف يوم الإثنين الثاني من الشهر يوم عطلة، فسيتم تنفيذ العرض الترويجي بعد نهاية تجميد الإصدار.

مهم: يجب على الناشرين الذين يستخدمون قناة الإصدار الاستقرار طويل المدى عدم استخدام الميزات المقدمة حديثًا. ونظرًا للدورة الأطول، قد يتأخر إصدار الاستقرار طويل المدى بمقدار سبعة أسابيع عنHEAD الخاص بـ ampproject/amphtml. راجع قسم تحديد ما إذا كان التغيير الخاص بك في إصدار للتحقق مما إذا كان التغيير سيكون جاهزًا في دورة الإصدار التي اخترتها.

تحديد ما إذا كان التغيير الخاص بك ضمن إصدار أم لا

يتم استخدام النوع: إصدار مشكلات GitHub لتتبع حالة الإصدارات الحالية والسابقة؛ بدء من الإصدار الأولي حتى الاختبار عبر القناتين التجريبية/الأولية وصولا إلى الإصدار النهائي عبر القنوات المستقرة والاستقرار طويل المدى. ويتم إصدار إعلانات حول الإصدارات على قناة #إصدار AMP Slack (التسجيل في Slack).

يمكنك تحديد التغييرات في بناء معين باستخدام أحد الخيارات التالية:

وتيرة الإصدار

وإننا نتوخى الحذر عن قصد مع وتيرة الإصدار لدينا.

فعند تحديد عدد المرات التي يجب أن نطرح فيها إصدارات جديدة من AMP للجميع، يتعين علينا تقييم العديد من العوامل بما في ذلك:

  • الاستقرار لملايين المواقع/مليارات الصفحات التي تم إنشاؤها باستخدام AMP
  • عمليات خرق لذاكرة التخزين المؤقت التي قد تحدث عند إطلاق إصدار جديد
  • الرغبة في الحصول على ميزات جديدة بسرعة

وبعد النظر في كل هذه العوامل، نصل إلى دورة الإطلاق من أسبوع إلى أسبوعين. ووجدنا حتى الآن أن هذا حل وسط معقول، لكننا سنواصل تقييم كل هذه العوامل وقد نجري عليها تغييرات في المستقبل.

جدولة مفصلة

إننا نحاول الالتزام بهذا الجدول قدر الإمكان، على الرغم من أن التعقيدات قد تسبب في عمليات تأخير. فيما يمكنك تتبع آخر حالة حول أي إصدار في النوع: إصدار مشكلات GitHub وقناة #إصدار AMP Slack (التسجيل في Slack).

  • الأربعاء @ 11صباحًا بتوقيت المحيط الهادئ: تم إنشاء إصدارات  تجريبية وأولية جديدة من أحدث إصدار رئيسي اجتاز كل اختباراتنا ويتم إطلاقها إلى مستخدمي AMP الذين اختاروا قناة AMP التجريبية أو قناة AMP الأولية على التوالي.
  • الأربعاء: نتحقق من تقارير الأخطاء لمستخدمي القناة التجريبية والقناة الأولية وإذا بدا كل شيء على ما يرام، فإننا نطلق الإصدار الأولي إلى 1٪ من صفحات AMP
  • من الخميس إلى الإثنين: نواصل مراقبة معدلات الخطأ وتقارير الأخطاء لمستخدمي القناة التجريبية والقناة الأولية و1٪ من الصفحات باستخدام البنائين التجريبي/الأولي
  • الثلاثاء من الأسبوع التالي: يتم ترقية الإصدار الأولي بالكامل إلى مستقر (أي ستستخدم جميع صفحات AMP هذا الإصدار الآن)

عمليات تجميد الإصدار

هناك مناسبات نتخطى فيها إصدار AMP إلى الإنتاج، والمعروفة باسم تجميد الإصدار.

إذا تم الإعلان عن تجميد الإصدار لمدة أسبوع واحد إلى الأسبوع س:

  • يظل إصدار الأسبوع السابق في التجريبية/الأولية لمدة أسبوع إضافي، بمعنى أن تخفيض الإصدار في الأسبوع س-1 لم يتم إطلاقه إلى مستقر في الأسبوع س كما هو الحال عادة. بدلاً من ذلك، سيتم إطلاقه إلى مستقر في الأسبوع س + 1.
  • لا{/ em0} يتم إنتاج بناء الإصدار الجديد في أسبوع التجميد (الأسبوع س).
  • سيتم استئناف الجدول العادي في الأسبوع س + 1، على سبيل المثال، يتم وقف التجريبي/الأولي في الأسبوع س + 1 ويتم ترقيته إلى مستقر في الأسبوع س +2.
  • وإذا تمت جدولة الإصدار مستقر الذي تم الترويج له خلال الأسبوع س-1 في الأصل ليتم ترقيته إلى الاستقرار طويل المدى خلال الأسبوع س، فسيتم ترقيته الآن إلى الاستقرار طويل المدى يوم الإثنين من الأسبوع س + 1.
  • وما تزال إصدارات كل ليلة يتم إنشاؤها والترويج لها، حيث إنها مؤتمتة بالكامل.

قد يحدث تجميد الإصدار بسبب:

  • الأوقات التي لا يتوفر فيها عدد كافٍ من الأشخاص لإطلاق إصدار AMP إلى مستقر ومراقبته. ويقيم حاليًا معظم الأشخاص الذين ينفذون إصدارات AMP في الولايات المتحدة، لذلك ستشمل هذه الأسابيع عادةً الأعياد الأمريكية الرئيسية ليوم الاستقلال (4 يوليو) وعيد الشكر (الخميس الرابع في نوفمبر) وعيد الميلاد (25 ديسمبر) وليلة/يوم رأس السنة (31 ديسمبر/1 يناير).
  • حالة طارئة، مثل مشكلة تتعلق بالأمان أو الخصوصية على النحو الذي تحدده لجنة التوجيه الفني (TSC) أو الأشخاص الذين يقومون بتنفيذ الإصدار.
  • حالات أخرى عندما يُعد استقرار قاعدة الشفرة ذا أهمية خاصة على النحو الذي تحدده لجنة التوجيه الفني.

في جميع الحالات، باستثناء حالات الطوارئ، سيتم الإعلان عن تجميد الإصدار قبل شهر واحد على الأقل.

لاحظ أنه ما لم يتم الإعلان عن خلاف ذلك، فإن تجميد الإصدار لا يعني تجميد الرمز. إذ ما يزال من الممكن كتابة التعليمات البرمجية ومراجعتها ودمجها أثناء تجميد الإصدار.