diff --git a/docs/ar/ci.md b/docs/ar/ci.md index 9bd75e8fd..21a1cf09a 100644 --- a/docs/ar/ci.md +++ b/docs/ar/ci.md @@ -1,73 +1,74 @@ --- read_when: - - تحتاج إلى فهم سبب تشغيل وظيفة CI أو عدم تشغيلها - - أنت تصحح أخطاء فحوصات GitHub Actions الفاشلة -summary: رسم وظائف CI البياني، وبوابات النطاق، والمكافئات المحلية للأوامر + - تحتاج إلى فهم سبب تشغيل مهمة CI أو عدم تشغيلها + - أنت تقوم بتصحيح أعطال فحوصات GitHub Actions +summary: مخطط مهام CI، وبوابات النطاق، والمكافئات المحلية للأوامر title: مسار CI x-i18n: - generated_at: "2026-04-05T12:37:27Z" + generated_at: "2026-04-09T07:17:00Z" model: gpt-5.4 provider: openai - source_hash: 5a95b6e584b4309bc249866ea436b4dfe30e0298ab8916eadbc344edae3d1194 + source_hash: d104f2510fadd674d7952aa08ad73e10f685afebea8d7f19adc1d428e2bdc908 source_path: ci.md workflow: 15 --- # مسار CI -يعمل CI عند كل دفع إلى `main` وكل pull request. ويستخدم تحديد نطاق ذكيًا لتخطي الوظائف المكلفة عندما تكون التغييرات مقتصرة على مناطق غير مرتبطة. +يعمل CI عند كل دفع إلى `main` وكل طلب سحب. ويستخدم تحديد نطاق ذكيًا لتخطي المهام المكلفة عندما تكون التغييرات مقتصرة على أجزاء غير ذات صلة. -## نظرة عامة على الوظائف +## نظرة عامة على المهام -| الوظيفة | الغرض | وقت التشغيل | -| ----------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------- | -| `preflight` | اكتشاف التغييرات الخاصة بالوثائق فقط، والنطاقات المتغيرة، والإضافات المتغيرة، وبناء CI manifest | دائمًا في عمليات الدفع وطلبات السحب غير المسودة | -| `security-fast` | اكتشاف المفاتيح الخاصة، وتدقيق workflow عبر `zizmor`، وتدقيق تبعيات الإنتاج | دائمًا في عمليات الدفع وطلبات السحب غير المسودة | -| `build-artifacts` | بناء `dist/` وControl UI مرة واحدة، ورفع artifacts قابلة لإعادة الاستخدام للوظائف اللاحقة | التغييرات المرتبطة بـ Node | -| `checks-fast-core` | مسارات صحة Linux السريعة مثل فحوصات الحزمة/عقد الإضافات/البروتوكول | التغييرات المرتبطة بـ Node | -| `checks-fast-extensions` | تجميع مسارات تقسيم الإضافات بعد اكتمال `checks-fast-extensions-shard` | التغييرات المرتبطة بـ Node | -| `extension-fast` | اختبارات مركزة للإضافات المضمّنة التي تغيّرت فقط | عند اكتشاف تغييرات في الإضافات | -| `check` | البوابة المحلية الرئيسية في CI: ‏`pnpm check` بالإضافة إلى `pnpm build:strict-smoke` | التغييرات المرتبطة بـ Node | -| `check-additional` | حمايات البنية والحدود بالإضافة إلى حزمة اختبار تراجع مراقبة gateway | التغييرات المرتبطة بـ Node | -| `build-smoke` | اختبارات smoke للـ CLI المبني واختبار smoke لذاكرة بدء التشغيل | التغييرات المرتبطة بـ Node | -| `checks` | مسارات Linux Node الأثقل: الاختبارات الكاملة، واختبارات القنوات، وتوافق Node 22 للدفع فقط | التغييرات المرتبطة بـ Node | -| `check-docs` | تنسيق الوثائق وفحصها واختبارات الروابط المعطلة | عند تغيير الوثائق | -| `skills-python` | ‏Ruff + pytest للـ Skills المعتمدة على Python | التغييرات المرتبطة بـ Python Skills | -| `checks-windows` | مسارات اختبارات خاصة بـ Windows | التغييرات المرتبطة بـ Windows | -| `macos-node` | مسار اختبارات TypeScript على macOS باستخدام artifacts المبنية المشتركة | التغييرات المرتبطة بـ macOS | -| `macos-swift` | فحص Swift وبناؤه واختباراته لتطبيق macOS | التغييرات المرتبطة بـ macOS | -| `android` | مصفوفة بناء Android واختباره | التغييرات المرتبطة بـ Android | +| Job | Purpose | When it runs | +| ------------------------ | ---------------------------------------------------------------------------------------- | ----------------------------------- | +| `preflight` | اكتشاف التغييرات التي تخص الوثائق فقط، والنطاقات المتغيرة، والإضافات المتغيرة، وبناء بيان CI | دائمًا في عمليات الدفع وطلبات السحب غير المسودة | +| `security-fast` | اكتشاف المفاتيح الخاصة، وتدقيق سير العمل عبر `zizmor`، وتدقيق تبعيات الإنتاج | دائمًا في عمليات الدفع وطلبات السحب غير المسودة | +| `build-artifacts` | بناء `dist/` وواجهة Control UI مرة واحدة، ورفع القطع الأثرية القابلة لإعادة الاستخدام للمهام التابعة | التغييرات ذات الصلة بـ Node | +| `checks-fast-core` | مسارات تحقق Linux السريعة مثل فحوصات الحِزم المضمنة/عقد الإضافات/البروتوكول | التغييرات ذات الصلة بـ Node | +| `checks-fast-extensions` | تجميع مسارات شرائح الإضافات بعد اكتمال `checks-fast-extensions-shard` | التغييرات ذات الصلة بـ Node | +| `extension-fast` | اختبارات مركزة للإضافات المضمنة التي تغيرت فقط | عند اكتشاف تغييرات في الإضافات | +| `check` | البوابة المحلية الرئيسية في CI: `pnpm check` بالإضافة إلى `pnpm build:strict-smoke` | التغييرات ذات الصلة بـ Node | +| `check-additional` | حواجز البنية والحدود ودورات الاستيراد بالإضافة إلى حزمة انحدار مراقبة البوابة | التغييرات ذات الصلة بـ Node | +| `build-smoke` | اختبارات smoke لواجهة CLI المبنية واختبار smoke لذاكرة بدء التشغيل | التغييرات ذات الصلة بـ Node | +| `checks` | مسارات Linux Node الأثقل: اختبارات كاملة، واختبارات القنوات، وتوافق Node 22 المخصص للدفع | التغييرات ذات الصلة بـ Node | +| `check-docs` | تنسيق الوثائق، وlint، وفحوصات الروابط المعطلة | عند تغيير الوثائق | +| `skills-python` | `Ruff` + `pytest` للمهارات المعتمدة على Python | التغييرات ذات الصلة بمهارات Python | +| `checks-windows` | مسارات اختبارات خاصة بـ Windows | التغييرات ذات الصلة بـ Windows | +| `macos-node` | مسار اختبارات TypeScript على macOS باستخدام القطع الأثرية المبنية المشتركة | التغييرات ذات الصلة بـ macOS | +| `macos-swift` | lint وبناء واختبارات Swift لتطبيق macOS | التغييرات ذات الصلة بـ macOS | +| `android` | مصفوفة بناء Android واختباراته | التغييرات ذات الصلة بـ Android | ## ترتيب الإخفاق السريع -تُرتب الوظائف بحيث تفشل الفحوصات الرخيصة قبل تشغيل الوظائف المكلفة: +تُرتَّب المهام بحيث تُظهر الفحوصات الرخيصة الإخفاقات قبل تشغيل المهام المكلفة: -1. يقرر `preflight` أي المسارات موجودة أصلًا. ومنطق `docs-scope` و`changed-scope` هما خطوتان داخل هذه الوظيفة، وليسا وظيفتين مستقلتين. -2. تفشل `security-fast` و`check` و`check-additional` و`check-docs` و`skills-python` بسرعة من دون انتظار وظائف artifact ومصفوفات المنصات الأثقل. -3. يتداخل `build-artifacts` مع مسارات Linux السريعة حتى يتمكن المستهلكون اللاحقون من البدء بمجرد جاهزية البنية المشتركة. -4. بعد ذلك تتفرع مسارات المنصات ووقت التشغيل الأثقل: `checks-fast-core` و`checks-fast-extensions` و`extension-fast` و`checks` و`checks-windows` و`macos-node` و`macos-swift` و`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-fast-extensions` و`extension-fast` و`checks` و`checks-windows` و`macos-node` و`macos-swift` و`android`. -يعيش منطق النطاق في `scripts/ci-changed-scope.mjs` وتغطيه اختبارات الوحدة في `src/scripts/ci-changed-scope.test.ts`. -ويعيد workflow المنفصل `install-smoke` استخدام نص النطاق نفسه عبر وظيفة `preflight` الخاصة به. فهو يحسب `run_install_smoke` من إشارة changed-smoke الأضيق، لذلك لا يعمل smoke الخاص بـ Docker/install إلا للتغييرات المرتبطة بالتثبيت والتعبئة والحاويات. +يوجد منطق النطاق في `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` الخاص بالدفع فقط. أما في pull requests، فيُتخطى هذا المسار وتظل المصفوفة مركزة على مسارات الاختبار/القنوات العادية. +في عمليات الدفع، تضيف مصفوفة `checks` مسار `compat-node22` المخصص للدفع فقط. وفي طلبات السحب، يتم تخطي ذلك المسار وتبقى المصفوفة مركزة على مسارات الاختبارات/القنوات العادية. -## المشغّلات +## المشغلات -| المشغّل | الوظائف | +| Runner | Jobs | | -------------------------------- | ---------------------------------------------------------------------------------------------------- | -| `blacksmith-16vcpu-ubuntu-2404` | `preflight` و`security-fast` و`build-artifacts` وفحوصات Linux وفحوصات الوثائق وPython Skills و`android` | +| `blacksmith-16vcpu-ubuntu-2404` | `preflight` و`security-fast` و`build-artifacts` وفحوصات Linux وفحوصات الوثائق ومهارات Python و`android` | | `blacksmith-32vcpu-windows-2025` | `checks-windows` | | `macos-latest` | `macos-node` و`macos-swift` | ## المكافئات المحلية ```bash -pnpm check # الأنواع + lint + format +pnpm check # الأنواع + lint + التنسيق pnpm build:strict-smoke +pnpm check:import-cycles pnpm test:gateway:watch-regression pnpm test # اختبارات vitest pnpm test:channels pnpm check:docs # تنسيق الوثائق + lint + الروابط المعطلة -pnpm build # بناء dist عندما تكون مسارات CI artifact/build-smoke مهمة +pnpm build # بناء dist عندما تكون مسارات CI للقطع الأثرية/build-smoke مهمة ```