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

รายงานปัญหา ดูแหล่งที่มา

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