نحتاج إلى برنامج نصي CI مشترك لتشغيل جميع اختبارات CI ، بحيث إذا كان هناك تغيير طفيف أو تمت إضافة / إزالة فحص جديد ، فلن نحتاج إلى تحديث جميع المستودعات بالتغيير الطفيف.
اقرأ المزيد: https://github.com/openwisp/openwisp-utils/pull/37#issuecomment -461733269
هل هذه هي كل البرامج النصية التي يجب تشغيلها؟
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 أجزاء
./runflake8
، ./runisort
، ./runcheckmigration
إلخ.checkcommit
يتم تشغيله هنا ويتم استدعاء اختبار خاص بمستودع التخزين ، مثل jshint و. / runtest و coverage
وما إلى ذلك.pip install openwisp-utils[qa]>=0.2.1
في openwisp-configpip install https://github.com/openwisp/openwisp-utils/tarball/master
في موقع OpenWISPpip install https://github.com/openwisp/openwisp-utils/tarball/master#egg=openwisp_utils --upgrade
في مستخدمي openwisppip install -U https://github.com/openwisp/openwisp-utils/tarball/master
في django-freeradiuspip install --user https://github.com/openwisp/openwisp-utils/tarball/master
في ansible-openwispالبعض لديه سطر في المتطلبات - test.txt أيضًا نسخة من ملفات الاختبار الموجودة في المستودع التي أفكر في تضمينها أمر التثبيت لـ openwisp-utils
مخاوف قليلة:
واسمحوا لي أن أعرف آرائكم حول هذا :)
@ ankit-kumar-dwivedi لا تقم بتشغيل البرامج النصية "before_install" في قسم "scripts". هنا أحاول أن أشرح لماذا (التصحيح مقدّر) -
قد يلزم تشغيل بعض البرامج النصية من قبل لتشغيل البرامج النصية الرئيسية بشكل صحيح.
& إذا فشل أي من "before_script" أو "after_script" ، فلن يؤثر ذلك على "حالة" الإصدار الإجمالية.
"على سبيل المثال ، لن يتم تطبيق runcheckmigration حقًا في موقع ويب openwisp ، ولكن لا يزال يتعين تشغيل checkcommit و runcheckendline."
أعتقد أننا بحاجة إلى إضافة متغير لاستبعاد المستودع. تضمين التغريدة
@ ankit-kumar-dwivedi
مغلق برقم 45