المساهمة

خط أنابيب التكامل المستمر

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

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

المهمةالغرضوقت التشغيل
docs-scopeاكتشاف التغييرات الخاصة بالوثائق فقطدائمًا
changed-scopeاكتشاف المناطق التي تغيرت (node/macos/android/windows)طلبات السحب غير المتعلقة بالوثائق
checkأنواع TypeScript، والتدقيق النحوي، والتنسيقالدفع إلى main، أو طلبات السحب ذات التغييرات المتعلقة بـ Node
check-docsتدقيق Markdown + فحص الروابط المعطلةعند تغيير الوثائق
code-analysisفحص عتبة سطور الكود (1000 سطر)طلبات السحب فقط
secretsاكتشاف الأسرار المسربةدائمًا
build-artifactsبناء التوزيعة مرة واحدة، ومشاركتها مع المهام الأخرىتغييرات غير متعلقة بالوثائق، وتغييرات node
release-checkالتحقق من صحة محتويات حزمة npmبعد البناء
checksاختبارات Node/Bun + فحص البروتوكولتغييرات غير متعلقة بالوثائق، وتغييرات node
checks-windowsاختبارات خاصة بـ Windowsتغييرات غير متعلقة بالوثائق، وتغييرات متعلقة بـ Windows
macosتدقيق/بناء/اختبار Swift + اختبارات TSطلبات السحب ذات التغييرات المتعلقة بـ macos
androidبناء Gradle + الاختباراتتغييرات غير متعلقة بالوثائق، وتغييرات android

ترتيب الفشل السريع

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

  1. docs-scope + code-analysis + check (متوازية، ~1-2 دقيقة)
  2. build-artifacts (معلقة على ما سبق)
  3. checks، checks-windows، macos، android (معلقة على البناء)

يوجد منطق النطاق في scripts/ci-changed-scope.mjs ويتم تغطيته بواسطة اختبارات الوحدة في src/scripts/ci-changed-scope.test.ts.

المنفذات

المنفذالمهام
blacksmith-16vcpu-ubuntu-2404معظم مهام Linux، بما في ذلك اكتشاف النطاق
blacksmith-32vcpu-windows-2025checks-windows
macos-latestmacos، ios

الأوامر المحلية المكافئة

pnpm check          # types + lint + format
pnpm test           # vitest tests
pnpm check:docs     # docs format + lint + broken links
pnpm release:check  # validate npm pack

سير عمل تطوير Piمراكز الوثائق