إجراء يقوم بتنزيل واستخراج العناصر التي تم تحميلها والمرتبطة بسير عمل محدد والالتزام أو معايير أخرى.
لنفترض أن لديك سير عمل يحتوي على مهمة تقوم في النهاية بتحميل عنصر باستخدام actions/upload-artifact
وتريد تنزيل هذا العنصر في سير عمل آخر يتم تشغيله بعد الأول. actions/download-artifact
لا تسمح بذلك. لهذا السبب قررت إنشاء هذا الإجراء. من خلال معرفة اسم سير العمل والالتزام SHA أو تفاصيل أخرى فقط، يمكنك تنزيل العناصر التي تم تحميلها مسبقًا من سير عمل مختلف مرتبط بهذا الالتزام أو معايير أخرى واستخدامها.
إذا لم يتم تحديد
commit
أوpr
أوbranch
أوrun_id
أوworkflow_conclusion
، فسيتم تنزيل العنصر من أحدث تشغيل سير عمل تم إكماله بنجاح.
لا تحدد pr
أو commit
أو branch
أو run_id
معًا أو workflow_conclusion
و run_id
معًا. اختر واحدة فقط من كل منها أو لا شيء.
- الاسم: تنزيل معرف الأداة: يستخدم download-artifact: dawidd6/action-download-artifact@v6 مع: # اختياري، رمز GitHub المميز، رمز وصول شخصي مع نطاق `public_repo` إذا لزم الأمر # مطلوب، إذا كان العنصر من مجموعة مختلفة repo # مطلوب، إذا كان الريبو خاصًا، يلزم وجود رمز وصول شخصي بنطاق `repo` أو رمز GitHub المميز في وظيفة حيث يكون تم تعيين نطاق الإجراء للأذونات على `قراءة` github_token: ${{secrets.GITHUB_TOKEN}} # اختياري، اسم ملف سير العمل أو المعرف # إذا لم يتم تحديده، فسيتم استنتاجه من run_id (إذا تم تحديد run_id)، أو سيكون هو الحالي سير العمل سير العمل: Workflow_name.yml # إذا لم يتم تعيين سير عمل وتم تعيين Workflow_search على true، فسيتم البحث عن أحدث مطابقة لسير العمل # في جميع المعايير الأخرى بدلاً من استخدامها سير العمل الحالي Workflow_search: false # اختياري، حالة أو نتيجة سير العمل المكتمل للبحث عنها # يمكن أن تكون إحدى استنتاجات سير العمل: # "فشل"، "نجاح"، "محايد"، "تم إلغاؤه"، "تم تخطيه"، "timed_out"، "action_required" # أو حالة سير العمل: # "مكتمل"، "قيد_التقدم"، "في قائمة الانتظار" # استخدم السلسلة الفارغة ("") لتجاهل الحالة أو الاستنتاج في سير عمل البحث: نجاح # اختياري، سيتم الحصول على التزام الرأس SHA pr: ${{github.event.pull_request.number}} # اختياري، لا حاجة لتحديد ما إذا كان الالتزام PR: ${{github.event.pull_request.head.sha}} # اختياري ، سوف يستخدم الفرع المحدد. الإعدادات الافتراضية لجميع فروع الفروع: رئيسي # اختياري، الإعدادات الافتراضية لجميع أنواع الأحداث: Push # اختياري، ستستخدم تشغيل سير العمل المحدد # استخدم ${{ github.event.workflow_run.id }} عندما يتم تشغيل الإجراء الخاص بك في حدث Workflow_run # ويريد للتنزيل من تشغيل سير العمل run_id: 1122334455 # اختياري، رقم التشغيل من سير العمل run_number: 34 # اختياري، اسم المنتج الذي تم تحميله، # سيتم تنزيله جميع القطع الأثرية إذا لم يتم تحديدها # واستخراجها في الدلائل الفرعية المعنية # https://github.com/actions/download-artifact#download-all-artifacts # يتم التعامل معها كتعبير عادي إذا كان الإدخال name_is_regexp صحيحًا # سيتم تنزيل تلك القطع الأثرية فقط باسم يطابق هذا التعبير العادي # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions name: artifact_name # اختياري، يتم التعامل مع الاسم كتعبير عادي إذا تم تعيينه على أنه صحيح name_is_regexp: true # اختياري، دليل حيث يتم استخراج القطع الأثرية، الافتراضي هو مسار الدليل الحالي: extract_here # اختياري، الافتراضي هو repo repo الحالي: $ {{ github.repository }} # اختياري، تحقق من تشغيل سير العمل لمعرفة ما إذا كان يحتوي على قطعة أثرية # ثم ستحصل على آخر قطعة أثرية متاحة من سير العمل السابق # افتراضي خطأ، فقط حاول التنزيل من آخر واحد check_artifacts: false # اختياري، ابحث عن آخر تشغيل لسير العمل الذي يحتوي على قطعة أثرية مخزنة مسماة كما في `الاسم` input # default false search_artifacts: false # اختياري، اختر تخطي تفريغ القطع الأثرية التي تم تنزيلها # default false Skip_unpack: false # اختياري، اختر كيفية الخروج من الإجراء إذا لم يتم العثور على أي عنصر # يمكن أن يكون واحدًا مما يلي: # "فشل"، "تحذير"، "تجاهل" # فشل افتراضي if_no_artifact_found: Fail # اختياري، قم بتضمين الشوكات عند البحث عن القطع الأثرية # default falseallow_forks: true
تم تحويل إصدار v3
لهذا الإجراء من node16
إلى node20
كوقت تشغيل. تتطلب العقدة 20 glibc>=2.28
. إذا كان برنامج التشغيل المستضاف ذاتيًا لديك يحتوي على glibc
أقدم، فقم بتثبيته على الإصدار v2
، لكن لاحظ أنه لن يتلقى أي تحديثات.