פרק 14: מאת ז'אויאנג לי ב-MTV ואריק אלשייר בTOK (אוקטובר 2020)
הפרקים הקודמים
רוצה לזהות רגרסיות בתכונה החדשה שלך ב-Chrome? הוספה של בדיקות לWaterfall (ה-build הרציף של Chrome ותשתית הבדיקה שלו)!
ב-Waterfall של Chrome יש הרבה כלים שמריצים בדיקות על מגוון פלטפורמות שונות. במאמר הזה נסביר איך להוסיף חבילת בדיקה לחשבון קיים ל-builder. לפני שממשיכים, כדאי לחשוב על השאלות הבאות:
האם הבדיקות החדשות צריכות להתבצע בחבילה חדשה לגמרי או פשוט להוסיף לחבילה קיימת?
- הבדיקות מסודרות בחבילות הבדיקה לפי הקרבה למיקום המקור ולנושא. אם הבדיקות החדשות לא מתאימות מבחינה לוגית לכל חבילה קיימת, כנראה צריכים חבילה חדשה.
האם הבדיקות צריכות לפעול ב-builder ציבורי או ב-builder פנימי?
- משתמשים בכלי לבניית פנים אם הקוד נמצא במאגר פנימי, או בדיקות כוללות נתונים סודיים.
האם הבדיקות צריכות לפעול ב-CI, ב-CI הראשי או לשמור על תור(CQ)?
- לידיעתך, ל-CI נדרש ניטור עצמי ומשמש לחידוד הבדיקה או לבצע במהירות ניסויים,
- הבדיקות העיקריות של ה-CI נמצאות במעקב קבוע על ידי שריפים.
- ה-CQ חוסם את שליחת נתוני ה-CL במקרה של כשל, אבל צורך יותר משאבי אינפרה. חבילה חדשה צריכה תמיד להתחיל מאינטראקציה ישירה (CI) לפני שניתן לקדם אותה ל-CQ.
- אם אתם לא בטוחים, צוות EngProd של הפלטפורמה שלכם יוכל לעזור לכם להחליט.
כבר יש לי חבילת בדיקה שפועלת ב-CI. איך מוסיפים אותה ל-CQ? / מה אם אני צריכים build חדש?
- לדווח על באג ברכיב Infra>Client>Chrome כדי
הצוות של
chrome-browser-infra@
יכול להתחיל בהערכות ולעזור לך בהגדרה.
איך מוסיפים חבילת בדיקה ל-builder קיים
כדי להוסיף חבילת בדיקה ל-builder קיים, צריך להגדיר חלק מהקבצים
ב-//src/testing/buildbot/
:
- יוצרים מפתח ב-
gn_isolate_map.pyl
לחבילת הבדיקות החדשה עם פרטי הסוג והתווית של יעד הבדיקה. מוסיפים את המפתח הזה לקבוצת בדיקה ב-
test_suites.pyl
. (אפשר למצוא את המיפוי משם ה-builder אל קבוצות הבדיקה ב-builder ב-waterfalls.pyl
).'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
יותר כוונונים עדינים.
mixins.pyl
מכיל ארגומנטים יכול להיות מיושם על קבוצת בדיקות ברמות קבוצה שונות.variants.pyl
עוזר להפעיל חבילה במספר מופעים עם ארגומנטים שונים.
ליצור מחדש קובצי תצורה על ידי הרצה
generate_buildbot_json.py
.
לאחר מכן אפשר פשוט לבדוק את שינויי ההגדרות. ה-builders שמריצים את החבילה הזו יזהו באופן אוטומטי את הבדיקות החדשות, התוצאות יתחילו לעבור בממשק האינטרנט עבור ה-builder ה-Waterfall – כולל שפע של מידע על תוצאות ניפוי הבאגים במקרה של כשלים!