Bazel มีรูปแบบการเผยแพร่การสนับสนุนระยะยาว (LTS) โดยจะเผยแพร่เวอร์ชันหลักทุกๆ 9 เดือน และเผยแพร่เวอร์ชันย่อย ทุกเดือน หน้านี้ครอบคลุมนโยบายการเผยแพร่ Bazel รวมถึงรุ่นที่พร้อมใช้งาน ไทม์ไลน์ ประกาศ และการทดสอบ
คุณดูรุ่นของ Bazel ได้ใน GitHub
รุ่นที่อาจได้รับการเผยแพร่
โดยปกติแล้วเราจะสร้างเวอร์ชันที่พร้อมเผยแพร่ของ Bazel เวอร์ชันใหม่ในช่วงต้นเดือน เราติดตามงานนี้โดยใช้ ข้อบกพร่องของรุ่นใน GitHub ซึ่งระบุวันที่เผยแพร่เป้าหมาย และมอบหมายให้ผู้จัดการการเผยแพร่ปัจจุบัน รุ่นที่พร้อมเผยแพร่ควรผ่านการทดสอบหน่วยทั้งหมดของ Bazel และไม่แสดงการถดถอยที่ไม่พึงประสงค์ ในโปรเจ็กต์ที่ทดสอบใน Buildkite
เราจะประกาศรุ่นที่อาจได้รับการเผยแพร่ใน bazel-discuss ในอีกไม่กี่วันข้างหน้า ทีม Bazel จะตรวจสอบรายงานข้อบกพร่องจากชุมชนเพื่อดูว่ามี การถดถอยในเวอร์ชันที่เสนอหรือไม่
การเผยแพร่
หากไม่พบการถดถอย ระบบจะเปิดตัวเวอร์ชันที่เสนออย่างเป็นทางการหลังจากผ่านไป 1 สัปดาห์ อย่างไรก็ตาม การถดถอยอาจทำให้การเผยแพร่รุ่นที่พร้อมใช้งานล่าช้า หากพบการถดถอย ทีม Bazel จะใช้การเลือกเชอร์รีที่เกี่ยวข้องกับ รุ่นที่พร้อมเผยแพร่เพื่อแก้ไขการถดถอยเหล่านั้น หากไม่พบการถดถอยเพิ่มเติม เป็นเวลา 2 วันทำการติดต่อกันนับจาก 1 สัปดาห์หลังการเผยแพร่ เวอร์ชันทดสอบแรก ระบบจะเผยแพร่เวอร์ชันทดสอบ
ระบบจะไม่เลือกฟีเจอร์ใหม่ๆ มาใส่ในรุ่นที่พร้อมเผยแพร่หลังจากที่ตัดรุ่นแล้ว นอกจากนี้ หากฟีเจอร์ใหม่มีข้อบกพร่อง เราอาจเปลี่ยนฟีเจอร์นั้นกลับจาก รุ่นที่พร้อมใช้งาน เราจะแก้ไขเฉพาะข้อบกพร่องที่มีแนวโน้มที่จะส่งผลกระทบอย่างมากหรือทำให้บิลด์รุ่นที่เผยแพร่ใช้งานไม่ได้ในรุ่นที่พร้อมเผยแพร่หลังจากที่สร้างบิลด์แล้ว
ระบบจะเผยแพร่ผลงานในวันที่วันถัดไปเป็นวันทำการเท่านั้น
หากพบปัญหาร้ายแรงในรุ่นล่าสุด ทีม Bazel จะสร้าง รุ่นที่มีการแก้ไขโดยใช้การแก้ไขกับรุ่นนั้น เนื่องจากแพตช์นี้อัปเดต รุ่นที่มีอยู่แทนที่จะสร้างรุ่นใหม่ จึงสามารถเผยแพร่รุ่นทดสอบของแพตช์ ได้หลังจากผ่านไป 2 วันทำการ
การทดสอบ
ระบบจะเรียกใช้การสร้างรายคืนของโปรเจ็กต์ทั้งหมดที่ทำงานใน ci.bazel.build โดยใช้ไบนารี Bazel ที่สร้างที่ส่วนหัวและไบนารีรุ่น ระบบจะแจ้งให้ทราบหากโปรเจ็กต์ได้รับผลกระทบจากการเปลี่ยนแปลงที่ไม่รองรับการทำงานร่วมกัน
เมื่อมีการออกเวอร์ชันที่พร้อมใช้งานจริง โปรเจ็กต์อื่นๆ ของ Google เช่น TensorFlow จะได้รับการทดสอบในชุดทดสอบที่สมบูรณ์โดยใช้ไบนารีของเวอร์ชันที่พร้อมใช้งานจริง หากคุณมีโปรเจ็กต์ที่สําคัญซึ่งใช้ Bazel เราขอแนะนําให้คุณสร้างกระบวนการทดสอบอัตโนมัติที่ติดตามรุ่นทดสอบปัจจุบัน และรายงานการถดถอย