يستخدم مشروع Apache SpamAssassin مستودع التخريب لعملية التطوير الخاصة به. يتم الاحتفاظ بمرآة للقراءة فقط من الريبو على GitHub هنا.
لا يعد دليل .github الذي يحتوي على ملف README هذا جزءًا من حزمة إصدار Apache SpamAssassin. الملفات الموجودة في هذا الدليل مخصصة للاستخدام من قبل المطورين لإجراء الاختبارات باستخدام خاصية Actions الخاصة بـ GitHub على المتسابقين المستضافين على GitHub.
لم تقم لجنة إدارة مشروع Apache SpamAssassin بإجراء أي ترتيبات لاستخدام الموارد المخصصة لمؤسسة Apache Software Foundation بواسطة GitHub لتشغيل الإصدارات والاختبارات. الإجراءات المحددة في هذا الدليل متاحة لأي شخص، بما في ذلك المطورين النشطين لـ SpamAssassin، لتشغيلها في GitHub الخاص بهم في الريبو. ومع ذلك، فإن تضمين الملفات في هذا المستودع لا يشكل إصدارًا رسميًا للبرنامج للعامة.
سيكون لعملية سير العمل التي ترسلها وظيفة واحدة لكل مجموعة صالحة من القيم من مربعات الإدخال الثلاثة الأولى.
يسمح لك مربع الإدخال الرابع بإدخال الاختبارات التي سيتم تشغيلها، بنفس التنسيق المستخدم لملفات TEST_FILES في سطر أوامر إجراء الاختبار. إذا تركت فارغة، فهذا يعني إجراء جميع الاختبارات.
بغض النظر عما يتم إدخاله في مربع الاختبارات، سيتم تشغيل الاختبارات التي تستخدم SQL فقط في المهام التي تم تحديد Postgres أو MySQL لقاعدة البيانات. أيضًا، لا يتم تشغيل اختبارات الإجهاد غير المرغوب فيها واختبارات الجذر مطلقًا.
لدى GitHub حدود لعدد الوظائف التي يمكنك تشغيلها في وقت واحد على الأنظمة الأساسية المختلفة. سيتم وضع المهام التي ترسلها والتي تتجاوز هذا الحد في قائمة الانتظار للبدء مع انتهاء المهام الأخرى.
سيؤدي النقر فوق وظيفة مدرجة في الشريط الجانبي الأيسر إلى فتح جزء يوضح مخرجات السجل الخاصة بالوظيفة. المهمة التي تنتهي بأخطاء سيكون لها رمز X أحمر. يمكنك التحقق من إخراج السجل للحصول على التفاصيل. ستؤدي بعض الأخطاء إلى ضغط محتويات دليل t/log كقطعة أثرية يمكنك تنزيلها. عندما تقوم بعرض جزء السجل، انقر على أيقونة الملخص أعلى الشريط الجانبي الأيسر، إذا كان هناك أي عناصر لتنزيلها، فسيكون هناك رقم يمكنك النقر عليه تحت عنوان القطع الأثرية .
عدد المهام التي يتم تشغيلها هو نتاج الخيارات التي تحددها في مربعات الإدخال الثلاثة. ما لم تكن ترغب في اختبار SpamAssassin على كل إصدار ممكن من Perl، وهو ما قد تفعله إذا كنت مدير الإصدار الذي يقوم بإعداد إصدار جديد، فمن المرجح أنك تريد تحديد إصدار حديث واحد فقط من Perl.
يعرض مربع الخيارات الخاصة بالعدائين فقط الأسماء "-الأحدث"، ولكن يمكنك إدخال أي مشغل مستضاف على GitHub يوفره، على سبيل المثال، ubuntu-20.04 أو macos-11.
تم اختبار Windows باستخدام Strawberry Perl، أحدث إصدار منه هو 5.32. إذا كان لديك 34 أو 36 في قائمة إصدارات Perl، فلن تقوم بإنشاء وظائف على نظام Windows الأساسي.
سيتم تشغيل المهام باستخدام خيار قاعدة البيانات postgres أو mysql فقط من خلال اختبارات SQL المختلفة. سيتم تشغيل المهام باستخدام خيار "لا شيء" لقاعدة البيانات وجميع الاختبارات الأخرى.
يبدو أن بعض الاختبارات، خاصة تلك التي تعتمد على الوصول إلى الشبكة مثل t/dnsbl.t، تفشل من حين لآخر، خاصة عندما تقوم بتشغيل العديد من المهام في وقت واحد. بعد اكتمال جميع مهام سير العمل، يمكنك إعادة تشغيل المهام التي فشلت فقط عن طريق النقر فوق زر إعادة تشغيل المهام في صفحة النظرة العامة للمهام، ثم تحديد إعادة تشغيل المهام الفاشلة . كرر ذلك حتى تنتهي المهام التي تبدو وكأنها حالات فشل متقطعة فقط بنجاح.