นโยบายการเผยแพร่

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 เราขอแนะนําให้คุณสร้างกระบวนการทดสอบอัตโนมัติที่ติดตามรุ่นที่อาจได้รับการเผยแพร่ปัจจุบันและรายงานการถดถอย