Bisect 產品組合

ffx product-bundle bisect 指令會將組件構件一分為二,協助找出產品套裝組合中的迴歸。

概念

如果產品套件的兩個版本之間發生錯誤或行為變更, ffx product-bundle bisect可以協助找出導致變更的特定構件 (平台、開發板或產品)。運作方式:

  1. 產生已知良好版本 (--from-success) 和已知不良版本 (--to-failure) 之間發布的版本清單。
  2. 使用不同版本的構件組合組裝中繼產品組合。
  3. 對這些中繼套件進行測試,判斷是否通過。

這項工具會對構件使用二分搜尋 (或中位數切分) 方法,快速縮小回歸來源的範圍。

用量

您可以按照工具的提示手動執行二分搜尋。

手動對分

如要開始在兩個已知版本的產品套件之間進行二分搜尋,請執行下列指令:

ffx product-bundle bisect <name> --from-success <version> --to-failure <version>

<name> 替換為產品組合名稱 (例如 core.vim3),並將 <version> 替換為產品組合版本號碼。

這項工具會組裝中繼套件,並提示您進行測試。測試完成後,請告知工具該步驟是否通過測試,工具會計算下一個步驟。

暫停及繼續

您隨時可以按 CTRL+C 暫停二分程序。工具會儲存狀態。下次執行完全相同的 ffx product-bundle bisect 指令時,系統會詢問您要繼續上次的執行作業,還是重新開始。

選項

ffx product-bundle bisect」的詳細選項:

  • --from-success:產品組合的已知良好版本。
  • --to-failure:產品組合的已知錯誤版本。
  • --slot:要二等分的分位 (ar)。預設為分位 a
  • --out-dir:用於寫入組裝圖片和其他構件的目錄。預設為 ~/plan_directory/out
  • --gen-dir:用於寫入中繼檔案的目錄。預設值為 ~/plan_directory/gen
  • --auth:用於擷取構件的驗證方法。

範例

手動分割產品組合:

ffx product-bundle bisect core.vim3 \
    --from-success 29.20250826.6.1 \
    --to-failure 29.20250905.6.1