mcpField
R
run-devicelab-with-led

run-devicelab-with-led

github.com/flutterテスト・品質180.5k42 回インストール今日更新
リポジトリ

run-devicelab-with-led について

LUCI の `led` コマンドラインを使い、Flutter のプルリクエストで submit 後テストや DeviceLab テストを実行するためのスキルです。ビルダーの指定、PR の設定、起動、タスクリンクの報告を案内します。

主な機能

  1. 01LUCI ビルダーの選択
  2. 02PR とリポジトリの設定
  3. 03recipe bundle の編集
  4. 04ビルド起動とリンクの報告

活用シーン

  1. 01Flutter PR の DeviceLab テスト実行
  2. 02ローカル recipe 変更のテスト
  3. 03起動したビルドの追跡リンク共有

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/flutter/flutter --skill run-devicelab-with-led

インストール後、Claude Code で/run-devicelab-with-ledを入力して読み込まれたか確認します。

詳細

ledを使用したDeviceLabテストの実行

このスキルでは、LUCIのled CLIツールを使用して、プルリクエスト(PR)の送信後テストとDeviceLabテストを実行する方法を説明します。詳しくはdocs/infra/Running-Devicelab-Tests-For-PR.mdをご覧ください。レシピやボットの変更が不要な場合は、bb addのほうが適している場合があります。詳しくはdocs/infra/Using-bb-and-led.mdをご覧ください。led auth-loginは対話形式のため、自分で実行しないでください。led auth-infoでNot logged in.と表示された場合は、ユーザーに実行を依頼してください。

前提条件

  1. ledツール:インストール済み(depot_tools経由)で、PATHから利用できる必要があります。led auth-infoで確認してください。
  2. SSO認証:gcertstatusまたはglogin statusで、有効なSSO/LOAS認証情報があることを確認してください。期限切れの場合は、ユーザーにgloginまたはgcertを実行するよう案内してください。
  3. recipesリポジトリ(led edit-recipe-bundleを使用する場合):ローカルのレシピ変更やレシピのみのPRをテストする場合、led edit-recipe-bundleを含むコマンドは、Flutterのrecipesリポジトリのローカルチェックアウトのルートで実行する必要があります(git clone https://flutter.googlesource.com/recipes)。

ワークフロー

1. PRの種類に応じて入力を収集する

次の必須引数を収集します。

  • PR_NUMBER:プルリクエスト番号(例:123456)。
  • PRESUBMIT_TEST:実行するLUCIステージングビルダーの正確な名前(例:Windows_mokey hot_mode_dev_cycle_win__benchmarkまたはMac_ios microbenchmarks_ios)。
2. ledパイプラインを実行する

ローカルのレシピ変更をテストするためにled edit-recipe-bundleを使用する場合は、ローカルのrecipesリポジトリのチェックアウトのルートに移動してください($CWDはled edit-recipe-bundleによってパッケージ化されます)。レシピを編集せずにテストする場合は、led edit-recipe-bundleをrecipesのチェックアウトから実行することも、省略することもできます。

PRの種類に対応するコマンドパイプラインを実行します。

コマンド
led get-builder 'luci.flutter.staging:PRESUBMIT_TEST' \
  | led edit -pa git_ref='refs/pull/PR_NUMBER/head' \
  | led edit -pa git_url='https://github.com/flutter/flutter' \
  | led edit-recipe-bundle \
  | led launch
3. 起動したタスクの詳細を報告する

led launchは、起動したビルドの詳細(Swarming/LUCIタスクへのリンクなど)を出力します。実行の進捗を確認し、ログを調べられるよう、出力されたURLをユーザーに提示してください。

例

  • ユーザーのプロンプト:「frameworkのPR 12345で、devicelabテストWindows_mokey hot_mode_dev_cycle_win__benchmarkをledで実行してください。」
  • アクション:ledコマンドを実行します(ローカルのレシピ編集にled edit-recipe-bundleを使用する場合は、ローカルのrecipes/ディレクトリに移動してください)。
    led get-builder 'luci.flutter.staging:Windows_mokey hot_mode_dev_cycle_win__benchmark' \
      | led edit -pa git_ref='refs/pull/12345/head' \
      | led edit -pa git_url='https://github.com/flutter/flutter' \
      | led edit-recipe-bundle \
      | led launch
    

コメント