מדיניות הפצה

Bazel שומרת על מודל הפצה תמיכה לטווח ארוך (LTS), שלפיו גרסה ראשית מופצת כל תשעה חודשים וגרסאות משניות מתפרסמות מדי חודש. הדף הזה עוסק במדיניות ההפצה של Bazel, כולל מועמדויות להפצה, לוחות זמנים, הודעות ובדיקות.

ניתן למצוא מהדורות Bazel באתר GitHub.

מועמדים להשקה

בתחילת כל חודש נוצר בדרך כלל מועמד לקבלת גרסה חדשה של Bazel. העבודה במעקב היא באמצעות באג הפצה ב-GitHub שמציין תאריך השקה של יעד, ומוקצה למנהל הגרסה הנוכחי. המועמדים להפצה צריכים לעבור את כל הבדיקות ביחידות בזל ולהראות רגרסיה לא רצויה בפרויקטים שנבדקו ב-Buildkite.

הכרזה על מועמדים לגרסה זמינה בדיון בזל. במהלך הימים הבאים, הצוות של Bazel עוקב אחר דוחות על באגים בקהילה כדי לאתר רגרסיות במועמדים.

שחרור

אם לא יתגלו רגרסיות, המועמד ישוחרר באופן רשמי לאחר שבוע. עם זאת, רגרסיות עשויות לעכב את הפרסום של מועמד לקבלת גרסה. אם נמצאו רגרסיות, צוות בזל יחיל בחירות דובדבן תואמות על המועמד לשחרור כדי לתקן את הרגרסיות. אם לא יימצאו רגרסיות נוספות במשך שני ימי עסקים רצופים, לאחר שבוע אחד מאז המועמד הראשון להשקה, המועמד ישוחרר.

תכונות חדשות לא נבחרות בבחירות הדובדבן לאחר חיתוך. בנוסף, אם יש תכונה חדשה שיש בה באגים, ייתכן שהיא תבוטל ממועמד לגרסה החדשה. רק באגים שיש להם פוטנציאל להשפיע או לשבור את גרסת ה-build של מהדורה תוקנו במועמד לקבלת גרסה לאחר חיתוך.

הפצה יוצאת רק ביום שבו היום המחרת הוא יום עסקים.

אם נמצאה בעיה קריטית בגרסה האחרונה, צוות Bazel יוצר גרסת תיקון על ידי החלת התיקון על הגרסה. מאחר שתיקון זה מעדכן גרסה קיימת, במקום ליצור גרסה חדשה, ניתן יהיה לשחרר את המועמד לשחרור התיקון לאחר שני ימי עסקים.

בדיקה

מופעלת בכל לילה בנייה של כל הפרויקטים שפועלים באתר ci.bazel.build תוך שימוש בבינלים בזלים שנבנו בראש והשקת גרסאות בינאריות. הודעה על פרויקטים שעומדים להיות מושפעים משינוי מהותי.

כשניתן לבחור מועמד להפצה, פרויקטים אחרים של Google כגון TensorFlow נבדקים על חבילת הבדיקה המלאה באמצעות הקבצים הבינאריים של גרסאות המועמדים. אם יש לכם פרויקט קריטי באמצעות Bazel, מומלץ ליצור תהליך בדיקה אוטומטי שעוקב אחר המועמדים לגרסה הנוכחית ולדווח על רגרסיות.