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

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