mcpField
R
run-devicelab-with-led

run-devicelab-with-led

github.com/flutter测试与质量180.5k42 次安装今天更新
代码仓库

关于 run-devicelab-with-led

这项技能指导使用 LUCI 的 `led` 命令行,为 Flutter 拉取请求运行提交后测试和 DeviceLab 测试,并配置构建器、启动任务及提供跟踪链接。

主要功能

  1. 01选择 LUCI 构建器
  2. 02设置 PR 引用和仓库
  3. 03编辑 recipe bundle
  4. 04启动构建并报告链接

适用场景

  1. 01运行 Flutter 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。如果无需修改配方或 bot,使用 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,必须从本地检出的 Flutter recipes 仓库根目录执行包含 led edit-recipe-bundle 的命令(git clone https://flutter.googlesource.com/recipes)。

工作流

1. 根据 PR 类型收集输入

收集以下必需参数:

  • PR_NUMBER:拉取请求编号(例如,123456)。
  • PRESUBMIT_TEST:要运行的 LUCI staging 构建器的确切名称(例如,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,以便他们跟踪执行进度并查看日志。

示例

  • 用户提示:“使用 led 为框架 PR 12345 运行 devicelab 测试 Windows_mokey hot_mode_dev_cycle_win__benchmark。”
  • 操作:运行 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
    

评论

支持 Markdown