docs/docs/ar/ci.md
2026-04-11 02:53:41 +00:00

7.8 KiB

read_when summary title x-i18n
تحتاج إلى فهم سبب تشغيل مهمة CI أو عدم تشغيلها.
أنت تقوم بتصحيح فحوصات GitHub Actions الفاشلة.
رسم بياني لمهام CI، وبوابات النطاق، ومعادلات الأوامر المحلية مسار CI
generated_at model provider source_hash source_path workflow
2026-04-11T02:44:26Z gpt-5.4 openai ca7e355b7f73bfe8ea8c6971e78164b8b2e68cbb27966964955e267fed89fce6 ci.md 15

مسار CI

يعمل CI عند كل عملية دفع إلى main وعند كل طلب سحب. ويستخدم تحديد نطاق ذكيًا لتخطي المهام المكلفة عندما تكون التغييرات محصورة في أجزاء غير ذات صلة.

نظرة عامة على المهام

المهمة الغرض متى تعمل
preflight اكتشاف تغييرات الوثائق فقط، والنطاقات المتغيرة، والإضافات المتغيرة، وبناء بيان CI دائمًا في عمليات الدفع وطلبات السحب غير المسودة
security-fast اكتشاف المفاتيح الخاصة، وتدقيق سير العمل عبر zizmor، وتدقيق تبعيات الإنتاج دائمًا في عمليات الدفع وطلبات السحب غير المسودة
build-artifacts بناء dist/ وواجهة Control UI مرة واحدة، ورفع عناصر قابلة لإعادة الاستخدام للمهام اللاحقة التغييرات المرتبطة بـ Node
checks-fast-core مسارات تحقق Linux السريعة مثل فحوصات bundled/plugin-contract/protocol التغييرات المرتبطة بـ Node
checks-node-extensions شرائح اختبار bundled-plugin الكاملة عبر مجموعة الإضافات التغييرات المرتبطة بـ Node
checks-node-core-test شرائح اختبارات Node الأساسية، باستثناء مسارات القنوات وbundled والعقود والإضافات التغييرات المرتبطة بـ Node
extension-fast اختبارات مركزة فقط للإضافات المجمعة التي تغيّرت عند اكتشاف تغييرات في الإضافات
check البوابة المحلية الرئيسية في CI: pnpm check بالإضافة إلى pnpm build:strict-smoke التغييرات المرتبطة بـ Node
check-additional حواجز البنية والحدود ودورات الاستيراد بالإضافة إلى حزمة اختبار تراجع gateway watch التغييرات المرتبطة بـ Node
build-smoke اختبارات smoke للـ CLI المبني واختبار smoke لذاكرة بدء التشغيل التغييرات المرتبطة بـ Node
checks مسارات Linux Node المتبقية: اختبارات القنوات وتوافق Node 22 الخاص بعمليات الدفع فقط التغييرات المرتبطة بـ Node
check-docs تنسيق الوثائق وفحصها واختبار الروابط المعطلة عند تغيّر الوثائق
skills-python Ruff + pytest للمهارات المعتمدة على Python التغييرات ذات الصلة بمهارات Python
checks-windows مسارات اختبار خاصة بـ Windows التغييرات ذات الصلة بـ Windows
macos-node مسار اختبارات TypeScript على macOS باستخدام عناصر البناء المشتركة التغييرات ذات الصلة بـ macOS
macos-swift فحص Swift وبناؤه واختباراته لتطبيق macOS التغييرات ذات الصلة بـ macOS
android مصفوفة بناء Android واختباراته التغييرات ذات الصلة بـ Android

ترتيب الإخفاق السريع

تُرتَّب المهام بحيث تفشل الفحوصات الرخيصة قبل تشغيل المهام المكلفة:

  1. تحدد preflight أي المسارات ستوجد أصلًا. منطق docs-scope وchanged-scope هما خطوتان داخل هذه المهمة، وليسا مهمتين مستقلتين.
  2. تفشل security-fast وcheck وcheck-additional وcheck-docs وskills-python بسرعة من دون انتظار مهام العناصر والمصفوفات الخاصة بالمنصات الأثقل.
  3. تعمل build-artifacts بالتوازي مع مسارات Linux السريعة حتى تتمكن المهام اللاحقة من البدء فور جاهزية البناء المشترك.
  4. بعد ذلك تتفرع مسارات المنصات ووقت التشغيل الأثقل: checks-fast-core وchecks-node-extensions وchecks-node-core-test وextension-fast وchecks وchecks-windows وmacos-node وmacos-swift وandroid.

يوجد منطق النطاق في scripts/ci-changed-scope.mjs وتغطيه اختبارات وحدات في src/scripts/ci-changed-scope.test.ts. يعيد سير عمل install-smoke المنفصل استخدام نص النطاق نفسه عبر مهمة preflight الخاصة به. وهو يحسب run_install_smoke من إشارة changed-smoke الأضيق، لذلك لا يعمل Docker/install smoke إلا للتغييرات المرتبطة بالتثبيت والتغليف والحاويات.

في عمليات الدفع، تضيف مصفوفة checks مسار compat-node22 الخاص بعمليات الدفع فقط. أما في طلبات السحب، فيتم تخطي ذلك المسار وتبقى المصفوفة مركزة على مسارات الاختبار/القنوات العادية.

المشغلات

المشغل المهام
blacksmith-16vcpu-ubuntu-2404 preflight وsecurity-fast وbuild-artifacts وفحوصات Linux وفحوصات الوثائق ومهارات Python وandroid
blacksmith-32vcpu-windows-2025 checks-windows
macos-latest macos-node وmacos-swift

المعادلات المحلية

pnpm check          # الأنواع + lint + format
pnpm build:strict-smoke
pnpm check:import-cycles
pnpm test:gateway:watch-regression
pnpm test           # اختبارات vitest
pnpm test:channels
pnpm check:docs     # تنسيق الوثائق + فحصها + الروابط المعطلة
pnpm build          # بناء dist عندما تكون مسارات عناصر CI أو build-smoke مهمة