Openwisp-utils: [تحسين] نص CI شائع

تم إنشاؤها على ١٣ فبراير ٢٠١٩  ·  13تعليقات  ·  مصدر: openwisp/openwisp-utils

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

اقرأ المزيد: https://github.com/openwisp/openwisp-utils/pull/37#issuecomment -461733269

testing

ال 13 كومينتر

هل هذه هي كل البرامج النصية التي يجب تشغيلها؟

  • checkcommit
  • runcheckendline
  • runcheckmigration
  • runflake8
  • runisort

ومع ذلك ، فإن بعض هذه الشيكات لا تنطبق على جميع المستودعات ، كيف يمكنك حل ذلك؟
على سبيل المثال ، لن يتم تطبيق runcheckmigration بالفعل في openwisp-website ، ولكن لا يزال يجب تشغيل checkcommit و runcheckendline .

dwang أفكر في متغير سطر الأوامر ، افتراضيًا ، سيتم تشغيل جميع المهام ،
ومع ذلك ، إذا كنت أرغب في تجنب runcheckmigration ، يمكنني ببساطة فعل --no-runcheckmigration لتجنب تشغيل هذا البرنامج النصي ، ما رأيك في ذلك؟ :ابتسامة:

يبدو أمرا جيدا لي!

@ atb00ker هذا يبدو رائعا! هل تعمل على هذه؟

لا. أنا لا أعمل عليه حاليًا. :ابتسامة:

حسنًا ، أنا أعمل عليها الآن

@ atb00ker بأي ترتيب يجب تشغيل البرامج النصية؟
أرى أنه يجب تشغيل checkcommit و runcheckendline على كل ريبو.
لذلك سوف أتناول 3 حجج كحد أقصى

لا تعتمد الاختبارات على بعضها البعض ، لذا لا يهم الترتيب.
يمكنك التحقق من ملف .travis.yml في كل مستودع للتحقق من الاختبارات التي يتم تشغيلها على هذا المستودع المحدد.
تحقق من نفس المستودعات التالية:

- django-ipam
- openwisp-ipam
- django-freeradius
- openwisp-freeradius
- openwisp-users
- openwisp-utils
- openwisp-config
- openwisp-controller
- django-loci
- django-netjsonconfig
- django-x509

@ atb00ker أرى أن ملف .travis.yml في كل مستودع مقسم إلى 3 أجزاء

  • before_install: هنا يتم ./runflake8 ، ./runisort ، ./runcheckmigration إلخ.
  • التثبيت: هنا جميع أوامر التثبيت ...
  • البرنامج النصي: checkcommit يتم تشغيله هنا ويتم استدعاء اختبار خاص بمستودع التخزين ، مثل jshint و. / runtest و coverage وما إلى ذلك.

هناك أيضًا أوامر مختلفة في كل ملف .travis.yml لتثبيت openwisp-utils

  • pip install openwisp-utils[qa]>=0.2.1 في openwisp-config
  • pip install https://github.com/openwisp/openwisp-utils/tarball/master في موقع OpenWISP
  • pip install https://github.com/openwisp/openwisp-utils/tarball/master#egg=openwisp_utils --upgrade في مستخدمي openwisp
  • pip install -U https://github.com/openwisp/openwisp-utils/tarball/master في django-freeradius
  • pip install --user https://github.com/openwisp/openwisp-utils/tarball/master في ansible-openwisp

البعض لديه سطر في المتطلبات - test.txt أيضًا نسخة من ملفات الاختبار الموجودة في المستودع التي أفكر في تضمينها أمر التثبيت لـ openwisp-utils

مخاوف قليلة:

  1. هل سيكون من المقبول تشغيل الاختبار في قسم البرنامج النصي فقط؟ وليس before_install (راجع https://github.com/openwisp/django-ipam/blob/master/.travis.yml)
  2. أنا أعتبر الحجج - لا testname1 testname2 testname2 ..... هل هو بخير؟

واسمحوا لي أن أعرف آرائكم حول هذا :)

@ ankit-kumar-dwivedi لا تقم بتشغيل البرامج النصية "before_install" في قسم "scripts". هنا أحاول أن أشرح لماذا (التصحيح مقدّر) -

قد يلزم تشغيل بعض البرامج النصية من قبل لتشغيل البرامج النصية الرئيسية بشكل صحيح.
& إذا فشل أي من "before_script" أو "after_script" ، فلن يؤثر ذلك على "حالة" الإصدار الإجمالية.

"على سبيل المثال ، لن يتم تطبيق runcheckmigration حقًا في موقع ويب openwisp ، ولكن لا يزال يتعين تشغيل checkcommit و runcheckendline."
أعتقد أننا بحاجة إلى إضافة متغير لاستبعاد المستودع. تضمين التغريدة

@ ankit-kumar-dwivedi

  1. نعم ، يمكن إجراء اختبارات CI بعد اختبارات أخرى أيضًا ، وطالما أنها تعمل ، لا أرى مشكلة. :ابتسامة:
  2. نعم ، تبدو جيدة. إذا كان هناك شيء ما جاهزًا ، فهل يمكنك تقديم طلب سحب [العمل قيد التقدم] حتى نتمكن من إلقاء نظرة أثناء العمل عليه؟
    شكرا. :ابتسامة:

مغلق برقم 45

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات