关于 run-devicelab-with-led
这项技能指导使用 LUCI 的 `led` 命令行,为 Flutter 拉取请求运行提交后测试和 DeviceLab 测试,并配置构建器、启动任务及提供跟踪链接。
主要功能
- 01选择 LUCI 构建器
- 02设置 PR 引用和仓库
- 03编辑 recipe bundle
- 04启动构建并报告链接
适用场景
- 01运行 Flutter PR 的 DeviceLab 测试
- 02测试本地 recipe 修改
- 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.,请让用户运行该命令。
前提条件
led工具:必须已安装(通过depot_tools)且可在PATH中使用。通过led auth-info验证。- SSO 身份验证:通过
gcertstatus或glogin status验证 SSO / LOAS 凭据有效。如果凭据已过期,请指导用户运行glogin或gcert。 recipes仓库(使用led edit-recipe-bundle时):如果要测试本地配方更改或仅包含配方更改的 PR,必须从本地检出的 Flutterrecipes仓库根目录执行包含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