انتقل إلى المحتوى

التكامل المستمر (CI)

التكامل المستمر (CI) هو جانب أساسي من جوانب تطوير البرمجيات التي تنطوي على دمج التغييرات واختبارها تلقائيا. يسمح لنا CI بالحفاظ على كود عالي الجودة من خلال اكتشاف المشكلات مبكرا وغالبا في عملية التطوير. في Ultralytics، نستخدم اختبارات CI المختلفة لضمان جودة وسلامة قاعدة التعليمات البرمجية الخاصة بنا.

إجراءات CI

فيما يلي وصف موجز لإجراءات CI الخاصة بنا:

  • CI: هذا هو اختبار CI الأساسي الخاص بنا والذي يتضمن تشغيل اختبارات الوحدة ، وفحوصات الفحص ، وأحيانا اختبارات أكثر شمولا اعتمادا على المستودع.
  • نشر عامل الإرساء: يتحقق هذا الاختبار من نشر المشروع باستخدام Docker للتأكد من أن Dockerfile والبرامج النصية ذات الصلة تعمل بشكل صحيح.
  • الروابط المعطلة: يقوم هذا الاختبار بمسح قاعدة الشفرة بحثا عن أي روابط معطلة أو ميتة في موقعنا markdown أو ملفات HTML.
  • كودكيو ل: CodeQL هي أداة من GitHub تقوم بإجراء تحليل دلالي على التعليمات البرمجية الخاصة بنا ، مما يساعد على العثور على الثغرات الأمنية المحتملة والحفاظ على التعليمات البرمجية عالية الجودة.
  • PyPI للنشر: يتحقق هذا الاختبار مما إذا كان يمكن حزم المشروع ونشره على PyPi دون أي أخطاء.

نتائج CI

فيما يلي جدول يوضح حالة اختبارات CI هذه لمستودعاتنا الرئيسية:

مستودع سي آي نشر عامل الإرساء الروابط المعطلة كودكيو إل PyPI ونشر المستندات
يولوف3 YOLOv3 CI نشر صور عامل الإرساء تحقق من الروابط المعطلة كودكيو إل
yolov5 YOLOv5 سي آي نشر صور عامل الإرساء تحقق من الروابط المعطلة كودكيو إل
ultralytics ultralytics سي آي نشر صور عامل الإرساء تحقق من الروابط المعطلة كودكيو إل النشر إلى PyPI ونشر المستندات
محور هب سي تحقق من الروابط المعطلة
مستندات تحقق من الروابط المعطلةالتحقق من المجالات نشر الصفحات

تظهر كل شارة حالة آخر تشغيل لاختبار CI المقابل على main فرع من المستودع المعني. إذا فشل الاختبار ، فستعرض الشارة حالة "فشل" ، وإذا نجحت ، فستعرض حالة "ناجح".

إذا لاحظت فشل الاختبار ، فسيكون من المفيد جدا أن تتمكن من الإبلاغ عنه من خلال مشكلة GitHub في المستودع المعني.

تذكر أن اختبار CI الناجح لا يعني أن كل شيء مثالي. يوصى دائما بمراجعة التعليمات البرمجية يدويا قبل نشر التغييرات أو دمجها.

تغطية الكود

تغطية التعليمات البرمجية هي مقياس يمثل النسبة المئوية لقاعدة التعليمات البرمجية التي يتم تنفيذها عند تشغيل الاختبارات. يوفر نظرة ثاقبة حول مدى جودة ممارسة اختباراتك للتعليمات البرمجية الخاصة بك ويمكن أن تكون حاسمة في تحديد الأجزاء غير المختبرة من تطبيقك. غالبا ما ترتبط نسبة تغطية التعليمات البرمجية العالية باحتمالية أقل للأخطاء. ومع ذلك ، من الضروري أن نفهم أن تغطية الكود لا تضمن عدم وجود عيوب. إنه يشير فقط إلى أجزاء الكود التي تم تنفيذها بواسطة الاختبارات.

التكامل مع codecov.io

في Ultralytics، قمنا بدمج مستودعاتنا مع codecov.io، وهي منصة شهيرة على الإنترنت لقياس وتصور تغطية الشفرة. يوفر Codecov رؤى مفصلة ومقارنات تغطية بين الالتزامات والتراكبات المرئية مباشرة على التعليمات البرمجية الخاصة بك ، مما يشير إلى الأسطر التي تمت تغطيتها.

من خلال التكامل مع Codecov ، نهدف إلى الحفاظ على جودة التعليمات البرمجية الخاصة بنا وتحسينها من خلال التركيز على المناطق التي قد تكون عرضة للأخطاء أو تحتاج إلى مزيد من الاختبار.

نتائج التغطية

للحصول بسرعة على لمحة عن حالة تغطية الكود ل ultralytics python حزمة ، قمنا بتضمين شارة وأشعة الشمس البصرية من ultralytics نتائج التغطية. تعرض هذه الصور النسبة المئوية للتعليمات البرمجية التي تغطيها اختباراتنا ، مما يوفر مقياسا سريعا لجهود الاختبار التي نبذلها. للحصول على التفاصيل الكاملة يرجى الاطلاع على https://codecov.io/github/ultralytics/ultralytics.

مستودع تغطية الكود
ultralytics كودكوف

في الرسم البياني لأشعة الشمس أدناه ، تكون الدائرة الأعمق هي المشروع بأكمله ، والابتعاد عن المركز عبارة عن مجلدات ثم ، أخيرا ، ملف واحد. يمثل حجم ولون كل شريحة عدد البيانات والتغطية ، على التوالي.

Ultralytics صورة كودكوف



تم النشر في 2023-11-12, اخر تحديث 2024-04-18
المؤلفون: جلين جوشر (5) ، برهان كيو (1)

التعليقات