upload-artifact archive: false
القطع الأثرية غير المضغوطة upload-artifact archive: false
مدخل archive في actions/upload-artifact يتيح رفع ملف كما هو دون ضغطه في zip، فيلغي مشكلة الضغط المزدوج ويسمح بفتح الملف مباشرة من واجهة GitHub.
حتى إصدارات upload-artifact الأقدم، كانت كل artifact تُضغط تلقائياً في ملف zip قبل الرفع بلا خيار لتعطيل ذلك — حتى لو كان الملف المرفوع مضغوطاً أصلاً (صورة، ملف zip آخر لحفظ صلاحيات الملفات)، أو ملفاً بسيطاً واحداً (تقرير HTML) كان يُفضَّل فتحه مباشرة بدل تنزيله وفك ضغطه يدوياً. مدخل archive الجديد (من upload-artifact v7) يحل هذا: قيمته الافتراضية true تحافظ على السلوك القديم الكامل للتوافق، وضبطها على false يرفع الملف كما هو تماماً بلا تغليف zip.
تنزيل artifact مرفوع بـ archive: false يتطلب download-artifact بإصدار v8 على الأقل ليتوافق مع الصيغة الجديدة. الملفات المدعومة للعرض المباشر في المتصفح (HTML، صور، Markdown) تُفتح مباشرة من واجهة GitHub دون خطوة فك ضغط.
الصياغة
- uses: actions/upload-artifact@v7
with:
name: <اسم القطعة>
path: <ملف واحد>
archive: false📄 مثال
- uses: actions/upload-artifact@v7
with:
name: coverage-report
path: coverage/index.html
archive: false
# التنزيل يحتاج إصداراً متوافقاً:
- uses: actions/download-artifact@v8
with:
name: coverage-reportأهم النقاط
| العنصر | الوظيفة |
|---|---|
| archive: true (افتراضي) | السلوك القديم الكامل — يضغط الملف/المجلد في zip قبل الرفع |
| archive: false | يرفع الملف كما هو بلا ضغط؛ يحتاج download-artifact@v8 فما فوق للتنزيل |
💡 نصائح عملية
- استخدم archive: false لملف واحد تريد فتحه مباشرة (تقرير تغطية، صورة فحص بصري)؛ اترك الضغط الافتراضي لمجلدات متعددة الملفات مثل dist/
⚠️ أخطاء شائعة
- استخدام archive: false مع download-artifact بإصدار أقدم من v8 — يكسر خطوة التنزيل لعدم التوافق
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار DEVOPS الكامل بالعربي.
📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs