الخلاصة
- يستطيع GitHub Actions بدء مسار
workflow_runحين يُطلب مسار آخر أو يكتمل، وتوضح GitHub أن المسار اللاحق قد يصل إلى أسرار ورموز كتابة لم تكن متاحة للمسار السابق. - لا تجعل هذه الصلة الأثر موثوقاً: فشرط النتيجة وفلتر الفرع وـcheckout واختيار الأثر وطريقة معالجته والصلاحيات الفعلية تظل قرارات وسجلات مستقلة.
- الادعاء القابل للمراجعة يصل بين التشغيل والمراجعة السابقين، وإعداد المشغّل اللاحق وشروطه التي حُسبت، والأثر والـcheckout المحددين، وسياق الصلاحية، والقرار اللاحق، وملاحظة مؤرخة للهدف.
قد تبدو عبارة «عمل مسار النشر بعد التحقق» وصفاً كاملاً، لكنها ليست سلسلة حيازة مكتملة. يسمح GitHub Actions لمسار ما بالاستماع إلى حدث workflow_run لمسار آخر عندما يُطلب ذلك المسار أو ينتهي. وتقول GitHub إن المسار المشغّل قد يصل إلى أسرار ورموز كتابة حتى إن لم يكن المسار السابق قادراً على ذلك. قد يكون التقسيم حكيماً: عمل إدخال محدود الصلاحية ينتج مرشحاً، ثم تقرر خطوة لاحقة أكثر ضبطاً ما الذي تفعله به. لكنه يرسم أيضاً حدوداً للصلاحية. اسم التشغيل السابق لا يبيّن ما الذي عبر هذا الحد.
التمييز الأول هو بين الاكتمال والقبول. توثق GitHub أن تشغيل workflow_run ينفذ مهما كانت خلاصة المسار السابق، ما لم يتضمن المسار اللاحق شرطاً صريحاً مثل github.event.workflow_run.conclusion == 'success'. لذلك لا يثبت انتهاء التشغيل السابق أن الفحوص نجحت ولا أن مهمة لاحقة قيّمت الشرط المقصود. اسم المسار في الحدث ليس مراجعة ملف المسار الذي يستمع إليه، وليس محتوى الحدث الذي استلمه المسار اللاحق، وليس التعبير الذي أتاح الخطوة ذات الصلاحية الأعلى.
ولفلاتر الفروع حد مماثل. توثق GitHub أن فلاتر فرع workflow_run تطبق على فرع المسار المشغّل، وأن لأنماط التضمين والاستبعاد ترتيباً. قد تسجل قاعدة branches المعلنة نية سياسة ما. لكنها لا تثبت أن أثراً جاء من الالتزام المتوقع، أو أن الـcheckout اللاحق حلّ إلى المراجعة نفسها، أو أن القول إن «فرع الإصدار اجتاز الاختبار» يحدد بالفعل المرجع الذي جرى تقييمه. إذا كان الادعاء سيُراجع لاحقاً، فيجب حفظ معرّف التشغيل السابق، وفعل الحدث، والفرع وSHA للرأس، وهوية المسار، وسياق إعادة التشغيل معاً.
ثم يأتي الأثر. تعرض وثائق أحداث GitHub أن المسار اللاحق يستطيع جلب الآثار المرتبطة بالتشغيل الذي شغّله. هذه وسيلة وصول وليست شهادة جودة. قد يرتبط أثر بالتشغيل السابق ارتباطاً صحيحاً، ومع ذلك يكون هو الإدخال المنطقي الخطأ لعملية لاحقة. قد يختار المسار اسماً آخر، أو ينزّل مجموعة بدلاً من كائن واحد، أو يفكها في بيئة أخرى، أو يستخدم checkout مختلفاً، أو يمرر الأثر إلى أمر لم يقيّمه التحقق السابق. لا يكفي أن يقول السجل «الأثر متاح». السجل المفيد يربط هوية التشغيل السابق، واسم الأثر أو معرّفه، وحجمه وملخصه حين يتوفران، ووقت الجلب، وref وSHA المحلولين للـcheckout اللاحق، والبرنامج الذي استهلكه، وشروط العزل أو عدم التنفيذ التي عولج ضمنها.
توضح مرجعية GitHub للاستخدام الآمن سبب هذه الدقة. فهي تحذر من أن workflow_run قد يصبح خطراً حين يعمل مسار ذي امتيازات على checkout لمحتوى pull request غير موثوق؛ إذ يمكن للأسرار وصلاحيات الكتابة وذاكرات التخزين المؤقت المشتركة أن تضخم ما يقبله المسار اللاحق. لا تتهم هذه التحذيرات مستودعاً أو أثراً بعينه. بل تصف بنية: عبارة «نجح المسار السابق» لا تخبرنا ماذا قبل المسار المميز لاحقاً ولا ما الذي كان مصرحاً له أن يفعله به.
والمشغّل ليس إيصالاً لأثر العملية في الهدف. حتى الأثر المختار بدقة قد يستخدم للفحص فقط. قد ترفض حدود صلاحية أخرى أمراً لاحقاً، أو يتوقف قبل استدعاء الهدف، أو يعمل على مورد مختلف، أو ينتهي بينما تصف ملاحظة لاحقة للهدف حالة تشغيلية مختلفة. وعلى العكس، قد تظهر خلاصة سلبية للمسار السابق في الحدث بينما يمنع شرط لاحق أي عمل مميز. الحدث والشرط ومعالجة الأثر وقرار الأمر والحالة المرصودة نقاط منفصلة.
الإجابة العملية هي إيصال لاحق محدود النطاق. احفظ اسم المسار السابق ومعرّف تشغيله، وفعل الحدث، والفرع وSHA للرأس، والخلاصة، ومعلومات المحاولة أو إعادة التشغيل، وإشارة ثابتة إلى تعريفه. واحفظ مراجعة تعريف المسار اللاحق، ومحدد workflow_run، وفلاتر الفروع، ونتيجة الشرط الذي أجاز المهمة المؤثرة أو منعها. احفظ مواصفات الـcheckout وSHA المحلولة. ولكل أثر استُخدم، احفظ ارتباطه السابق، اسمه أو معرّفه، والملخص المتاح، وسياق الجلب، ومسار المعالجة. واحفظ سياق صلاحيات GITHUB_TOKEN الفعلية وتوفر الأسرار وحدود الذاكرة المؤقتة أو البيئة ذات الصلة، من غير كشف القيم الحساسة. وأخيراً، صِل نتيجة العملية اللاحقة بملاحظة مستقلة التوقيت للهدف. يمكن حماية الأسرار؛ أما الصلات التي لم تسجل فلن يعاد بناؤها بعد ذلك.
لا تدّعي هذه الدقة أن خط الإنتاج كله «موثوق». إنها تقول ما الذي وصله الحدث، وما الذي قرره المسار اللاحق، وما الذي استهلكه، وأي صلاحية امتلك، وما الذي لوحظ. قد يكون workflow_run حداً مفيداً للتحكم، لكن لا ينبغي تحويله إلى شهادة ضمنية لأثر أو قرار مميز أو نتيجة تشغيلية لم يسجلها.
المصادر
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
