غيّر جيت هاب سلوك رفع تغطية الكود في الفروع الجديدة
أزالت جيت هاب عطلاً في سير عمل CI يمنع رفع بيانات تغطية الكود للفروع الجديدة قبل فتح طلب السحب.

نهاية فشل البناء في الفروع الجديدة
أعلنت جيت هاب عن تحديث مهم في سلوك أداة تغطية الكود الخاصة بها، حيث لم تعد عمليات الرفع تفشل في سير عمل CI عند دفع فرع جديد لا يوجد له طلب سحب مفتوح بعد. هذا التحديث يأتي لمعالجة مشكلة تقنية كانت تسبب إرباكاً للمطورين الذين يبدأون العمل على فروع جديدة قبل فتح طلبات السحب الرسمية. ويمكن الرجوع إلى GitHub Changelog للاطلاع على التفاصيل الأصلية للمصدر.
المشكلة التقنية السابقة
سابقاً، كانت واجهة برمجة التطبيقات الخاصة بالتغطية تتطلب رقم طلب سحب لأي عملية دفع إلى فرع غير افتراضي. وبما أن هذا الرقم لا يكون موجوداً إلا بعد فتح طلب السحب، كان دفع فرع جديد قبل فتح الطلب يؤدي إلى فشل خطوة رفع التغطية في سير العمل، حتى لو كان كل شيء آخر يعمل بشكل صحيح. هذا السلوك كان يُنظر إليه على أنه خطأ في التهيئة رغم أن المشكلة كانت بنيوية في متطلبات الواجهة. ويمكن الرجوع إلى Back to changelog للاطلاع على التفاصيل الأصلية للمصدر.
السلوك الجديد للرفع
الآن، عندما يعمل الإجراء على دفع إلى فرع لا يرتبط بطلب سحب، فإنه يتخطى عملية الرفع بدلاً من فشلها. كما يوضح الإجراء سبب التخطي من خلال إشعار في Actions وملخص خطوة، مما يوفر شفافية أكبر للمطورين. هذا التغيير ينطبق على الدفعات إلى الفروع التي لا تملك طلب سحب مفتوحاً، وكذلك الدفعات اللاحقة إلى تلك الفروع حتى يتم فتح الطلب.
استمرارية العمل الحالي
تستمر عمليات الرفع للدفعات إلى الفرع الافتراضي، ولأحداث طلبات السحب المدعومة، في العمل تماماً كما كانت من قبل. هذا يعني أن المستخدمين لا يحتاجون إلى إجراء أي تغييرات على إعدادات سير العمل الحالية الخاصة بهم. الهدف من هذا التحديث هو الحفاظ على استقرار العمليات القائمة مع إصلاح المشكلة الخاصة بالفروع الجديدة فقط.
تفاصيل محفّزات الرفع
إذا كان سير عملك يرفع التغطية فقط عند أحداث الدفع، فإن فتح طلب سحب لن يحفز عملية رفع جديدة تلقائياً. بدلاً من ذلك، ستستأنف التغطية عند الدفع التالي إلى ذلك الفرع. إذا كنت ترغب في رفع التغطية فور فتح طلب السحب، فيجب عليك إضافة محفّز pull_request إلى سير عملك. هذا التوضيح يساعد المطورين على فهم التوقيت الدقيق لعمليات الرفع وتجنب المفاجآت.
التوفر على المنصات
هذا التغيير متاح الآن على GitHub Enterprise Cloud وGitHub Team، بما في ذلك GitHub Enterprise Cloud مع إقامة البيانات. ومع ذلك، فهو غير متاح على GitHub Enterprise Server. هذا التمييز مهم للمؤسسات التي تستخدم الخوادم الذاتية، حيث يجب أن تكون على دراية بأن هذا التحسين لن يظهر في بيئاتها حتى تعلن جيت هاب عن دعمه هناك.
مصادر إضافية
يمكن للمطورين الاطلاع على المزيد من التحديثات التقنية وأفضل الممارسات في نشرة جيت هاب الأسبوعية الموجهة للمطورين. كما يمكن الرجوع إلى سجل التغييرات الكامل لمعرفة المزيد من التحديثات الأخرى التي تم إصدارها مؤخراً، مثل تحديثات الأمان والذكاء الاصطناعي.
المصادر
- GitHub ChangelogCode coverage uploads no longer fail CI for new branches