About run-devicelab-with-led
A skill for running Flutter post-submit and DeviceLab tests for pull requests with LUCI’s `led` CLI. It guides builder selection, PR configuration, launch, and reporting task links.
Key features
- 01LUCI builder selection
- 02PR ref and repository setup
- 03Recipe bundle editing
- 04Build launch and link reporting
Use cases
- 01Run a DeviceLab test for a Flutter PR
- 02Test local recipe changes
- 03Share a launched build’s tracking link
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ flutter/ flutter --skill run-devicelab-with-ledAfter installing, type/run-devicelab-with-ledin Claude Code to confirm it loaded.
Details
From the project READMERunning DeviceLab Tests with led
This skill guides running post-submit and DeviceLab tests for pull requests (PRs) using LUCI's led CLI tool. For additional context, see docs/infra/Running-Devicelab-Tests-For-PR.md. If no recipe or bot changes are needed, bb add may fit better; see docs/infra/Using-bb-and-led.md. Never run led auth-login yourself (interactive); if led auth-info reports Not logged in., ask the user to run it.
Prerequisites
ledtool: Must be installed (viadepot_tools) and available in yourPATH. Verify vialed auth-info.- SSO authentication: Verify valid SSO / LOAS credentials via
gcertstatusorglogin status. If expired, instruct the user to rungloginorgcert. recipesrepository (when includingled edit-recipe-bundle): If testing local recipe changes or recipe-only PRs, commands containingled edit-recipe-bundlemust be executed from the root of a local checkout of the Flutterrecipesrepository (git clone https://flutter.googlesource.com/recipes).
Workflow
1. Gather Inputs based on PR Type
Collect the following required arguments:
PR_NUMBER: The pull request number (e.g.,123456).PRESUBMIT_TEST: The exact name of the LUCI staging builder to run (e.g.,Windows_mokey hot_mode_dev_cycle_win__benchmarkorMac_ios microbenchmarks_ios).
2. Execute led Pipeline
If you are using led edit-recipe-bundle to test local recipe modifications, navigate to the root of your local recipes repository checkout ($CWD is packaged by led edit-recipe-bundle). If only testing without recipe edits, led edit-recipe-bundle can either be run from a recipes checkout or omitted.
Run the command pipeline corresponding to the PR type:
Command
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. Report Launched Task Details
led launch outputs details about the launched build, including Swarming / LUCI task links. Provide the resulting URL to the user so they can track execution progress and examine logs.
Example
- User Prompt: "Run the devicelab test
Windows_mokey hot_mode_dev_cycle_win__benchmarkfor framework PR 12345 with led." - Action: Run the
ledcommand (navigate to localrecipes/directory if usingled edit-recipe-bundlefor local recipe edits):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