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

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