Respin คือกระบวนการของการผสานใหม่ สร้างใหม่ ทดสอบใหม่ และ รับรองไบนารีอีกครั้งหลังจากเผยแพร่เคอร์เนล GKI ต่อสาธารณะ
ก่อนขอให้หมุนใหม่ โปรดอ่านหลักเกณฑ์ต่อไปนี้
การมีสิทธิ์และวงจร
- ช่วงเวลา: คุณขอรีสปินได้เฉพาะในสาขาที่เผยแพร่หลังจากเปิดตัวบิลด์รายไตรมาสต่อสาธารณะครั้งแรก ขอ ส่งคำขอให้หมุนเวียนสำหรับ Hook ของผู้ให้บริการหรือฟีเจอร์อื่นๆ เฉพาะสำหรับรุ่นที่กำหนด สาขาเป็นเวลาสูงสุด 6 เดือนหลังจากเปิดตัวต่อสาธารณะครั้งแรก
- ความปลอดภัยและ LTS: หลังจาก 6 เดือน สาขาจะมีสิทธิ์สำหรับ Respin เฉพาะแพตช์ด้านความปลอดภัยที่อ้างอิงในประกาศข่าวสารด้านความปลอดภัยของ Android (ASB) หรือการแก้ไขข้อบกพร่องที่สำคัญ
- การเลิกใช้งาน: เมื่อข้อกำหนด LTS ที่กำหนดโดยประกาศข่าวสารด้านความปลอดภัยของ Android (ASB) ทำให้สาขาไม่เป็นไปตามข้อกำหนด สาขาจะถูก
เลิกใช้งาน ระบบจะไม่ยอมรับคำขอ Respin สำหรับสาขาที่เลิกใช้งานแล้ว
- วันที่เลิกใช้งานสำหรับ GKI Release Branch ที่ระบุจะรวมอยู่ใน หมายเหตุบิลด์ GKI ที่เผยแพร่รายไตรมาสในส่วนการเผยแพร่ เช่น รุ่นเดือนกันยายน 2025 จะรองรับการหมุนซ้ำจนถึงเดือนมีนาคม 2027 วันที่นี้แสดงถึงอายุการใช้งานของเคอร์เนล LTS 2.0 ซึ่งมีอายุ 18 เดือนสำหรับรุ่นที่เริ่มตั้งแต่เดือนกันยายน 2025 (รุ่นก่อนเดือนกันยายน 2025 มีอายุการใช้งาน 12 เดือน)
- ขอบเขต: ขอการหมุนซ้ำเฉพาะสำหรับการแก้ไขข้อบกพร่องเร่งด่วน การอัปเดตรายการสัญลักษณ์ หรือการใช้แพตช์เพื่อแก้ไขฟีเจอร์ที่มีอยู่
มาตรฐานการส่งแพตช์
แพตช์ทั้งหมดที่ส่งไปยังสาขาของรุ่นต้องเป็นไปตามกฎทางเทคนิคต่อไปนี้ เพื่อให้เป็นไปตามเวลาในการแก้ปัญหาตามมาตรฐานที่คาดไว้ (ESRT) สำหรับการประมวลผลคำขอให้ส่งเพลงอีกครั้ง
แหล่งข้อมูลที่เชื่อถือได้และการเลือกข้อมูล
- สาขาการพัฒนาเป็นอันดับแรก: แพตช์ทั้งหมดที่จะรวมไว้ในสาขาการเผยแพร่รายไตรมาส
ต้องผสานรวมเข้ากับสาขาการพัฒนา GKI หลักแล้ว ตัวอย่างเช่น หากต้องใช้แพตช์สำหรับการรีสปินของ
android15-6.6-2025-08แพตช์ดังกล่าวจะต้องผสานรวมกับandroid15-6.6แล้ว - การเลือกเฉพาะบางรายการที่ต้องการ: คุณต้องเลือกเฉพาะบางรายการที่ต้องการจาก
สาขาการพัฒนาโดยตรง อย่านำการเปลี่ยนแปลงจากสาขาการเผยแพร่อื่นๆ มาใช้ (เช่น อย่านำการเปลี่ยนแปลงจาก
2025-08ไปยัง2025-09) เนื่องจากอาจทำให้ข้อมูลผู้เขียนหรือข้อมูลการคอมมิตไม่สอดคล้องกับเวอร์ชันในสาขาการพัฒนา ระบบจะไม่ยอมรับแพตช์ที่มีข้อมูลไม่สอดคล้องกัน - เก็บรักษาข้อมูลเมตา: เก็บรักษาข้อมูลเมตาของการคอมมิตต้นฉบับ (เช่น
ผู้เขียน การประทับเวลาเดิม) ใช้
git cherry-pick -xเพื่อเก็บรักษาข้อมูลเมตา
Commit Chain
- เชนแบบเรียงตามลำดับ: หากคำขอให้หมุนซ้ำเกี่ยวข้องกับแพตช์หลายรายการ ให้อัปโหลดแพตช์เหล่านั้นเป็นเชนแบบเรียงตามลำดับเดียวของการคอมมิต
- การวาง ABI และ KMI: หากการหมุนหลายแพตช์รวมถึงการอัปเดตอินเทอร์เฟซโมดูลเคอร์เนล (KMI) และอินเทอร์เฟซไบนารีของแอปพลิเคชัน (ABI) (เช่น การเปลี่ยนแปลงรายการสัญลักษณ์หรือการอัปเดตไฟล์ XML/STG) ให้วางคอมมิตเหล่านี้ไว้ที่ ท้ายสุด ของห่วงโซ่คอมมิต
- การรีเบส: หากแก้ไขคอมมิตหลักในเชน คุณต้องรีเบสแพตช์ย่อยทั้งหมด บนรีวิชันล่าสุดของแพตช์หลักเพื่อหลีกเลี่ยงการสร้างที่ไม่สำเร็จ
- การแก้ไขความขัดแย้ง: ตรวจสอบว่าไม่มีเครื่องหมายความขัดแย้งใน แพตช์
- การสร้างการยืนยัน: ต้องสร้างห่วงโซ่การคอมมิตทั้งหมดให้สำเร็จ
แท็กที่จำเป็น
ความคืบหน้าของคำขอให้หมุนใหม่จะถูกบล็อกหากไม่มีแท็กต่อไปนี้ใน ข้อความคอมมิต
Change-Id: ต้องเหมือนกับChange-Idของการเปลี่ยนแปลงในสาขาการพัฒนา- ข้อยกเว้น: หากมีการผสานรวมแพตช์เข้ากับกิ่งก้านการพัฒนาเป็นส่วนหนึ่งของการอัปเดต LTS ควรเป็นเชอร์รี่พิกของเวอร์ชัน LTS และจัดรูปแบบเป็นแพตช์
UPSTREAMดูหัวข้อ ฉันจะส่งแพตช์ไปยังเคอร์เนลทั่วไปของ Android ได้อย่างไร
- ข้อยกเว้น: หากมีการผสานรวมแพตช์เข้ากับกิ่งก้านการพัฒนาเป็นส่วนหนึ่งของการอัปเดต LTS ควรเป็นเชอร์รี่พิกของเวอร์ชัน LTS และจัดรูปแบบเป็นแพตช์
Bug(ที่มีอยู่): ต้องไม่นำแท็กBug: XYZที่มีอยู่จากคอมมิตของกิ่งก้านการพัฒนาเดิมออกBug(ส่งอีกครั้ง): คุณต้องเพิ่มแท็กBug: XYZใหม่ โดยที่ XYZ สอดคล้อง กับรหัสข้อบกพร่องที่เชื่อมโยงกับคำขอส่งอีกครั้งปัจจุบัน- อัปเดตแท็กการส่ง
UPSTREAMหากจำเป็น: เมื่อเลือก CL จากกิ่งก้านของการพัฒนาไปยังกิ่งก้านของการเผยแพร่ และ CL มีแท็กเป็นUPSTREAMให้พิจารณาสถานการณ์ต่อไปนี้- หาก CL ใช้กับสาขาที่เผยแพร่ได้อย่างราบรื่น คุณก็ไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม
- หาก CL ใช้ไม่ได้ ให้แก้ไขความขัดแย้ง
อัปเดตแท็กเป็น
BACKPORTและบันทึกสิ่งที่ทำเป็นส่วนหนึ่งของ การแก้ไขความขัดแย้ง โปรดดูข้อกำหนดสำหรับการย้อนกลับจาก Linux เมนไลน์
ลำดับความสำคัญและ ESRT
กำหนดลำดับความสำคัญ (ความเร่งด่วน) ให้กับคำขอรีสปินเพื่อช่วย ให้ทีม GKI จัดลำดับความสำคัญได้ ลำดับความสำคัญนี้จะช่วยให้ทีม GKI ช่วยเหลือ พาร์ทเนอร์ได้ดียิ่งขึ้นและทันท่วงที
- สำหรับคำขอที่มีความสำคัญหรือเร่งด่วน ให้ทำเครื่องหมายลำดับความสำคัญเป็น P0
- สำหรับคำขอ P0 และ P1 คุณต้องให้เหตุผลถึงความเร่งด่วนด้วย
ตารางต่อไปนี้แสดงการแมประดับความสำคัญของข้อบกพร่องและเวลาในการแก้ไข (ESRT)
| ลำดับความสำคัญ | ESRT |
|---|---|
| P0 | 2 วันทำการ |
| P1 | 5 วันทำการ |
| P2 | 10 วันทำการ |
| P3 | 15 วันทำการ |
นโยบาย SLA
- ส่งคำขอให้หมุนใหม่แยกต่างหากสำหรับแต่ละสาขาการเผยแพร่
- หากมีการเปลี่ยนแปลงคำขอให้ปั่นใหม่ที่ทำเครื่องหมายว่าแก้ไขแล้ว ให้ส่งคำขอให้ปั่นใหม่ อย่าเปิดคำขออีกครั้งเพื่อเพิ่มรายการการเปลี่ยนแปลง (CL)
- หากคำขอให้หมุนใหม่ต้องมีการตอบกลับจากคุณ แต่คุณไม่ตอบกลับภายใน 3 วันทำการ ระบบจะลดระดับความสำคัญลง 1 ระดับ เช่น P0 จะลดระดับเป็น P1
- หากคุณไม่ตอบกลับภายใน 2 สัปดาห์ ระบบจะทําเครื่องหมายข้อบกพร่องเป็นจะไม่แก้ไข (ล้าสมัย)
ส่งคำขอให้หมุนใหม่
แผนภาพต่อไปนี้แสดงกระบวนการหมุนใหม่ กระบวนการจะเริ่มต้นเมื่อพาร์ทเนอร์ OEM (คุณ) ส่งคำขอ Respin
รูปที่ 1. กระบวนการ Respin ฉุกเฉิน
วิธีส่งคำขอให้ปั่นใหม่
กรอกแบบฟอร์มคำขอ GKI Respin และติดต่อ ผู้ติดต่อของ Google โดยทันที
- แบบฟอร์มนี้จะสร้างข้อบกพร่องของคำขอ GKI Respin
เตรียมแพตช์:
- ตรวจสอบว่าได้ผสานรวมแพตช์เข้ากับสาขาการพัฒนา GKI แล้ว
- ใช้แพตช์กับกิ่งก้านการเผยแพร่ GKI ที่เหมาะสม
- แก้ไขแพตช์ที่เลือกมาให้มีแท็ก
Bug: XYZโดยอ้างอิงรหัสคำขอให้ส่งกลับ
ตัวอย่าง: หากต้องการเลือก CL จาก
android16-6.12ไปยังandroid16-6.12-2025-12ให้ทำดังนี้# 1. Checkout the target release branch git checkout android16-6.12-2025-12 # 2. Fetch the upstream development branch (Source of Truth) git fetch aosp android16-6.12 # 3. Cherry-pick the commit (Preserving metadata) git cherry-pick -x <commit_hash> # 4. Update the commit message to include the Respin Bug ID # (Do not remove existing Bug IDs or change the Change-Id)ส่งข้อบกพร่อง สิ่งที่จะเกิดขึ้นหลังจากที่คุณส่งคำขอมีดังนี้
กระบวนการตรวจสอบหลังจากส่งข้อมูล
- ทีม GKI ของ Google จะตรวจสอบคำขอและอนุมัติหรือส่งกลับให้คุณหากต้องการข้อมูลเพิ่มเติม
- หลังจากตกลงการแก้ไขแล้ว ทีม GKI ของ Google จะตรวจสอบโค้ด ของการเปลี่ยนแปลง ตัวจับเวลา ESRT จะทำงานในระหว่างการตรวจสอบนี้ อย่างไรก็ตาม หากมีการปฏิเสธแพตช์หรือต้องมีการปรับปรุงใหม่ ตัวจับเวลา ESRT จะรีเซ็ต
- ทีม GKI จะผสาน สร้าง ทดสอบการเกิดปัญหาซ้ำ และรับรองการเปลี่ยนแปลง
รุ่น:
- ไบนารีจะเผยแพร่ที่ ci.android.com
- กรอบเวลา ESRT สิ้นสุดลงและทีม GKI ของ Google จะทำเครื่องหมายคำขอเป็น แก้ไขแล้ว และอ้างอิงถึงบิลด์ respin
- นอกจากนี้ เรายังโพสต์บิลด์การหมุนซ้ำในหน้าบิลด์ที่เผยแพร่ของ Generic Kernel Image (GKI) ด้วย