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

Respin คือกระบวนการผสานใหม่ สร้างใหม่ ทดสอบใหม่ และ รับรองไบนารีอีกครั้งหลังจากเผยแพร่เคอร์เนล GKI ต่อสาธารณะ

โปรดดูคำแนะนำต่อไปนี้ก่อนขอ Respin

การมีสิทธิ์และวงจรชีวิต

  • ช่วงเวลา: คุณขอรีสปินได้เฉพาะใน Branch ที่เผยแพร่หลังจากเปิดตัวบิลด์รายไตรมาสต่อสาธารณะครั้งแรก ขอรีสปินสำหรับ Vendor-Hook หรือฟีเจอร์อื่นๆ ได้เฉพาะ Branch ที่เผยแพร่ที่กำหนดเป็นเวลาไม่เกิน 6 เดือนหลังจากเผยแพร่ต่อสาธารณะครั้งแรก
  • ความปลอดภัยและ LTS: หลังจาก 6 เดือน สาขามีสิทธิ์สำหรับ Respin เฉพาะ แพตช์ด้านความปลอดภัยที่อ้างอิงในประกาศข่าวสารด้านความปลอดภัยของ Android (ASB) หรือการแก้ไขข้อบกพร่องที่สำคัญ
  • การเลิกใช้งาน: เมื่อข้อกำหนด LTS ที่กำหนดโดยประกาศข่าวสารด้านความปลอดภัยของ Android (ASB) ทำให้สาขาไม่เป็นไปตามข้อกำหนด สาขาจะถูกเลิกใช้งาน ระบบจะไม่ยอมรับคำขอ Respin สำหรับสาขาที่เลิกใช้งานแล้ว
    • วันที่เลิกใช้งานสำหรับสาขาที่เผยแพร่ GKI ที่กำหนดจะรวมอยู่ในหมายเหตุบิลด์ GKI ที่เผยแพร่รายไตรมาสในส่วน "การเผยแพร่" เช่น การเผยแพร่ในเดือนกันยายน 2025 จะได้รับการสนับสนุนสำหรับ Respin จนถึงเดือนมีนาคม 2027 วันที่นี้แสดงถึงอายุการใช้งานของเคอร์เนล LTS 2.0 เวอร์ชัน 18 เดือนสำหรับการเผยแพร่ที่เริ่มในเดือนกันยายน 2025 (การเผยแพร่ก่อนเดือนกันยายน 2025 มีอายุการใช้งาน 12 เดือน)
  • ขอบเขต: ขอ Respin เฉพาะการแก้ไขข้อบกพร่องเร่งด่วน การอัปเดตรายการสัญลักษณ์ หรือการใช้แพตช์เพื่อแก้ไขฟีเจอร์ที่มีอยู่

มาตรฐานการส่งแพตช์

แพตช์ทั้งหมดที่ส่งไปยังสาขาที่เผยแพร่ต้องเป็นไปตามกฎทางเทคนิคต่อไปนี้เพื่อให้เป็นไปตามเวลาแก้ไขมาตรฐานที่คาดไว้ (ESRT) สำหรับการประมวลผลคำขอ Respin

แหล่งข้อมูลที่เชื่อถือได้และการคัดมา

  • สาขาการพัฒนาเป็นอันดับแรก: แพตช์ทั้งหมดที่จะเข้าสู่สาขาที่เผยแพร่รายไตรมาสต้องผสานรวมเข้ากับสาขาการพัฒนา GKI หลักแล้ว เช่น หากต้องใช้แพตช์สำหรับ Respin ของ android15-6.6-2025-08 แพตช์ดังกล่าวต้องผสานรวมเข้ากับ android15-6.6 แล้ว
  • การคัดมาที่สะอาด: คุณต้องคัดแพตช์มาจากสาขาการพัฒนาโดยตรง อย่าคัดมาจากสาขาที่เผยแพร่อื่นๆ (เช่น อย่าคัดจาก 2025-08 ไปยัง 2025-09) เนื่องจากอาจทำให้ข้อมูลผู้เขียนหรือข้อมูลการคอมมิตไม่สอดคล้องกับเวอร์ชันในสาขาการพัฒนา ระบบจะไม่ยอมรับแพตช์ที่มีข้อมูลไม่สอดคล้องกัน
  • เก็บรักษาข้อมูลเมตา: เก็บรักษาข้อมูลเมตาการคอมมิตเดิม (เช่น ผู้เขียน การประทับเวลาเดิม) ใช้ git cherry-pick -x เพื่อเก็บรักษาข้อมูลเมตา

เชนการคอมมิต

  • เชนแบบลำดับ: หากคำขอ Respin เกี่ยวข้องกับแพตช์หลายรายการ ให้อัปโหลดแพตช์เป็นเชนการคอมมิตเดียวแบบลำดับ
  • การวาง ABI และ KMI: หาก Respin หลายแพตช์มีการอัปเดตอินเทอร์เฟซโมดูลเคอร์เนล (KMI) และอินเทอร์เฟซไบนารีของแอปพลิเคชัน (ABI) (เช่น การเปลี่ยนแปลงรายการสัญลักษณ์หรือการอัปเดตไฟล์ XML/STG) ให้วางการคอมมิตเหล่านี้ไว้ที่ส่วนท้ายของเชนการคอมมิต
  • การรีเบส: หากคุณแก้ไขการคอมมิตระดับบนในเชน คุณต้องรีเบสแพตช์ระดับล่างทั้งหมดไว้เหนือการแก้ไขล่าสุดของแพตช์ระดับบนเพื่อหลีกเลี่ยงการสร้างล้มเหลว
  • การแก้ไขความขัดแย้ง: ตรวจสอบว่าไม่มีเครื่องหมายความขัดแย้งอยู่ในแพตช์
  • การยืนยันบิลด์: เชนการคอมมิตทั้งหมดต้องสร้างได้สำเร็จ

แท็กที่จำเป็น

ความคืบหน้าของคำขอ Respin จะถูกบล็อกหากไม่มีแท็กต่อไปนี้ใน ข้อความการคอมมิต

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

รายการสำคัญและ ESRT

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

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

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

รายการสำคัญESRT
P02 วันทำการ
P15 วันทำการ
P210 วันทำการ
P315 วันทำการ

นโยบาย SLA

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

ส่งคำขอ Respin

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

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

วิธีส่งคำขอ Respin

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

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

    • ตรวจสอบว่าผสานรวมแพตช์เข้ากับสาขาการพัฒนา GKI แล้ว
    • ใช้แพตช์กับสาขาที่เผยแพร่ GKI ที่เหมาะสม
    • แก้ไขแพตช์ที่คัดมาเพื่อรวมแท็ก Bug: XYZ ที่อ้างอิงรหัสคำขอ Respin

    ตัวอย่าง: วิธีเลือกใช้ 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
      • ระบบจะโพสต์บิลด์ Respin ในหน้าบิลด์ที่เผยแพร่ของ Generic Kernel Image (GKI) ด้วย