ขอให้หมุนใหม่

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 ของการเปลี่ยนแปลงในสาขาการพัฒนา
  • Bug (ที่มีอยู่): ต้องไม่นำแท็ก Bug: XYZ ที่มีอยู่จากคอมมิตของกิ่งก้านการพัฒนาเดิมออก
  • Bug (ส่งอีกครั้ง): คุณต้องเพิ่มแท็ก Bug: XYZ ใหม่ โดยที่ XYZ สอดคล้อง กับรหัสข้อบกพร่องที่เชื่อมโยงกับคำขอส่งอีกครั้งปัจจุบัน
  • อัปเดตแท็กการส่ง UPSTREAM หากจำเป็น: เมื่อเลือก CL จากกิ่งก้านของการพัฒนาไปยังกิ่งก้านของการเผยแพร่ และ CL มีแท็กเป็น UPSTREAM ให้พิจารณาสถานการณ์ต่อไปนี้
    • หาก CL ใช้กับสาขาที่เผยแพร่ได้อย่างราบรื่น คุณก็ไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม
    • หาก CL ใช้ไม่ได้ ให้แก้ไขความขัดแย้ง อัปเดตแท็กเป็น BACKPORT และบันทึกสิ่งที่ทำเป็นส่วนหนึ่งของ การแก้ไขความขัดแย้ง โปรดดูข้อกำหนดสำหรับการย้อนกลับจาก Linux เมนไลน์

ลำดับความสำคัญและ ESRT

กำหนดลำดับความสำคัญ (ความเร่งด่วน) ให้กับคำขอรีสปินเพื่อช่วย ให้ทีม GKI จัดลำดับความสำคัญได้ ลำดับความสำคัญนี้จะช่วยให้ทีม GKI ช่วยเหลือ พาร์ทเนอร์ได้ดียิ่งขึ้นและทันท่วงที

  • สำหรับคำขอที่มีความสำคัญหรือเร่งด่วน ให้ทำเครื่องหมายลำดับความสำคัญเป็น P0
  • สำหรับคำขอ P0 และ P1 คุณต้องให้เหตุผลถึงความเร่งด่วนด้วย

ตารางต่อไปนี้แสดงการแมประดับความสำคัญของข้อบกพร่องและเวลาในการแก้ไข (ESRT)

ลำดับความสำคัญESRT
P02 วันทำการ
P15 วันทำการ
P210 วันทำการ
P315 วันทำการ

นโยบาย SLA

  • ส่งคำขอให้หมุนใหม่แยกต่างหากสำหรับแต่ละสาขาการเผยแพร่
  • หากมีการเปลี่ยนแปลงคำขอให้ปั่นใหม่ที่ทำเครื่องหมายว่าแก้ไขแล้ว ให้ส่งคำขอให้ปั่นใหม่ อย่าเปิดคำขออีกครั้งเพื่อเพิ่มรายการการเปลี่ยนแปลง (CL)
  • หากคำขอให้หมุนใหม่ต้องมีการตอบกลับจากคุณ แต่คุณไม่ตอบกลับภายใน 3 วันทำการ ระบบจะลดระดับความสำคัญลง 1 ระดับ เช่น P0 จะลดระดับเป็น P1
  • หากคุณไม่ตอบกลับภายใน 2 สัปดาห์ ระบบจะทําเครื่องหมายข้อบกพร่องเป็นจะไม่แก้ไข (ล้าสมัย)

ส่งคำขอให้หมุนใหม่

แผนภาพต่อไปนี้แสดงกระบวนการหมุนใหม่ กระบวนการจะเริ่มต้นเมื่อพาร์ทเนอร์ OEM (คุณ) ส่งคำขอ Respin

กระบวนการส่งใหม่ในกรณีฉุกเฉิน รูปที่ 1. กระบวนการ Respin ฉุกเฉิน

วิธีส่งคำขอให้ปั่นใหม่

  1. กรอกแบบฟอร์มคำขอ GKI Respin และติดต่อ ผู้ติดต่อของ Google โดยทันที

    • แบบฟอร์มนี้จะสร้างข้อบกพร่องของคำขอ GKI Respin
  2. เตรียมแพตช์:

    • ตรวจสอบว่าได้ผสานรวมแพตช์เข้ากับสาขาการพัฒนา 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)
    
  3. ส่งข้อบกพร่อง สิ่งที่จะเกิดขึ้นหลังจากที่คุณส่งคำขอมีดังนี้

    • กระบวนการตรวจสอบหลังจากส่งข้อมูล

      • ทีม GKI ของ Google จะตรวจสอบคำขอและอนุมัติหรือส่งกลับให้คุณหากต้องการข้อมูลเพิ่มเติม
      • หลังจากตกลงการแก้ไขแล้ว ทีม GKI ของ Google จะตรวจสอบโค้ด ของการเปลี่ยนแปลง ตัวจับเวลา ESRT จะทำงานในระหว่างการตรวจสอบนี้ อย่างไรก็ตาม หากมีการปฏิเสธแพตช์หรือต้องมีการปรับปรุงใหม่ ตัวจับเวลา ESRT จะรีเซ็ต
      • ทีม GKI จะผสาน สร้าง ทดสอบการเกิดปัญหาซ้ำ และรับรองการเปลี่ยนแปลง
    • รุ่น:

      • ไบนารีจะเผยแพร่ที่ ci.android.com
      • กรอบเวลา ESRT สิ้นสุดลงและทีม GKI ของ Google จะทำเครื่องหมายคำขอเป็น แก้ไขแล้ว และอ้างอิงถึงบิลด์ respin
      • นอกจากนี้ เรายังโพสต์บิลด์การหมุนซ้ำในหน้าบิลด์ที่เผยแพร่ของ Generic Kernel Image (GKI) ด้วย