mcpField
R
run-devicelab-with-led

run-devicelab-with-led

github.com/flutterTesting & quality180.5k42 installsUpdated today
Repository

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

  1. 01LUCI builder selection
  2. 02PR ref and repository setup
  3. 03Recipe bundle editing
  4. 04Build launch and link reporting

Use cases

  1. 01Run a DeviceLab test for a Flutter PR
  2. 02Test local recipe changes
  3. 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-led

After installing, type/run-devicelab-with-ledin Claude Code to confirm it loaded.

Details

From the project README

Running 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

  1. led tool: Must be installed (via depot_tools) and available in your PATH. Verify via led auth-info.
  2. SSO authentication: Verify valid SSO / LOAS credentials via gcertstatus or glogin status. If expired, instruct the user to run glogin or gcert.
  3. recipes repository (when including led edit-recipe-bundle): If testing local recipe changes or recipe-only PRs, commands containing led edit-recipe-bundle must be executed from the root of a local checkout of the Flutter recipes repository (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__benchmark or Mac_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__benchmark for framework PR 12345 with led."
  • Action: Run the led command (navigate to local recipes/ directory if using led edit-recipe-bundle for 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
    

Comments

Markdown supported