Repository navigation
Adds agent skill for spawning led tasks. - #190937
Conversation
|
Adding @b-luk since he recently had to do this too. |
There was a problem hiding this comment.
Code Review
This pull request adds a new skill documentation file (SKILL.md) that guides running DeviceLab tests for Flutter framework and engine pull requests using LUCI's led CLI tool. The review feedback points out that for engine pull requests, the git_ref parameter should point to the framework's master branch (refs/heads/master) instead of the engine's pull request number, as the target repository is configured to the framework repository. This correction is needed in both the workflow pipeline and the provided example.
| - **Action**: Run from the local `recipes/` directory: | ||
| ```bash | ||
| led get-builder 'luci.flutter.staging:Mac_ios framework_tests_kmp' \ | ||
| | led edit -pa git_ref='refs/pull/67890/head' \ |
There was a problem hiding this comment.
In this example for an Engine PR, the git_ref should point to the framework's master branch (refs/heads/master) rather than the engine's PR number (67890), because the target repository is flutter/flutter.
| | led edit -pa git_ref='refs/pull/67890/head' \ | |
| | led edit -pa git_ref='refs/heads/master' \ |
There was a problem hiding this comment.
I've deleted this section
| # Running DeviceLab Tests with `led` | ||
|
|
||
| This skill guides running post-submit and DeviceLab tests for Flutter Framework or Engine pull requests (PRs) using LUCI's `led` CLI tool. For additional context, see [docs/infra/Running-Devicelab-Tests-For-PR.md](../../../docs/infra/Running-Devicelab-Tests-For-PR.md). |
There was a problem hiding this comment.
@reidbaker I think you prefer to delete this section?
| 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-pa flutter_prebuilt_engine_version='COMMIT_HASH' \ |
There was a problem hiding this comment.
is this a typo? missing a space here and some of the following lines edit-pa vs edit -pa
There was a problem hiding this comment.
yep thanks, I obviously didn't review it well after it worked for me =)
|
|
||
| ### 2. Execute `led` Pipeline | ||
|
|
||
| Navigate to your local checkout of the `recipes` repository and run the command pipeline corresponding to the PR type: |
There was a problem hiding this comment.
you only need to check out recipes repo if you're changing a recipe, right?
There was a problem hiding this comment.
yep, I saw that too, but didn't question it when it worked, thanks for pushing on it
| | led launch | ||
| ``` | ||
|
|
||
| ### 3. Report Launched Task Details |
There was a problem hiding this comment.
I found bb collect to be useful for agents to efficiently watch for completion in the background
There was a problem hiding this comment.
this seemed to work fine in my test run as is
| @@ -0,0 +1,99 @@ | |||
| --- | |||
| name: run-devicelab-with-led | |||
| description: Run DeviceLab tests for Flutter framework or engine PRs using LUCI's `led` CLI tool. Use when asked to run, launch, try, or deflake a post-submit or devicelab test against a PR using `led`. | |||
There was a problem hiding this comment.
Is this for running all tests against a PR? Do we want to support running an individual shard? Running one shard was the focus of the personal skill I wrote https://github.com/andywolff/andywolff_skills/blob/main/.agents/skills/led-staging-run/SKILL.md
There was a problem hiding this comment.
No, not all tests, you get to chose which tests with the builder name.
…#12453) Manual roll Flutter from 27b098811f3b to c2437523d308 (179 revisions) Manual roll requested by [email protected] flutter/flutter@27b0988...c243752 2026-08-12 [email protected] Enable Gradle CI cache on all test targets that require android_sdk (flutter/flutter#190723) 2026-08-12 [email protected] [analysis] Reland "Added initial implementation of the flutter_analyzer_plugin (#175679)" (flutter/flutter#191022) 2026-08-12 [email protected] Switch testing to gradle bin distribution type instead of all (flutter/flutter#190738) 2026-08-12 [email protected] Convert Mockito instances in Kotlin to Mockk (flutter/flutter#189884) 2026-08-12 [email protected] Report individual test results to LUCI ResultDB (flutter/flutter#190254) 2026-08-12 [email protected] Toggleable reaction duration respects overrides (flutter/flutter#190857) 2026-08-12 [email protected] Roll Skia from e00dbd7448c4 to fee7272f5bc2 (1 revision) (flutter/flutter#191007) 2026-08-12 [email protected] Started caching text shadows by content. (flutter/flutter#190681) 2026-08-12 [email protected] Adds agent skill for spawning led tasks. (flutter/flutter#190937) 2026-08-12 [email protected] Roll Packages from aaaf246 to 94485f1 (8 revisions) (flutter/flutter#191008) 2026-08-12 [email protected] flutter_tools: validate plugin identifiers before generating registrant code (flutter/flutter#190462) 2026-08-12 [email protected] Roll Skia from 112f36148949 to e00dbd7448c4 (3 revisions) (flutter/flutter#190993) 2026-08-12 [email protected] Roll Skia from 7d366c802307 to 112f36148949 (3 revisions) (flutter/flutter#190983) 2026-08-12 [email protected] remove bringup for flavors test (flutter/flutter#190940) 2026-08-12 [email protected] Roll Skia from 1f10a20bdd61 to 7d366c802307 (2 revisions) (flutter/flutter#190980) 2026-08-12 [email protected] Remove `--no-sim-use-hardfp` flag (flutter/flutter#190790) 2026-08-12 [email protected] Roll pub packages (flutter/flutter#190977) 2026-08-12 [email protected] Roll Skia from 339bedab6766 to 1f10a20bdd61 (1 revision) (flutter/flutter#190975) 2026-08-12 [email protected] RawTooltip respects AnimationStyle updates and reverseCurve (flutter/flutter#190889) 2026-08-12 [email protected] ci: Support --target_arch option in prepare_package.dart (flutter/flutter#190960) 2026-08-12 [email protected] Roll Fuchsia Linux SDK from SFq4FVodIOQAS26Lr... to -uHuSGv3wt7QAlDwa... (flutter/flutter#190973) 2026-08-12 [email protected] Removes building of ci/android_debug_x86 as nobody should be consuming it. (flutter/flutter#190951) 2026-08-12 [email protected] Adds error about wimp_heavy not being implemented. (flutter/flutter#189945) 2026-08-11 [email protected] Add clang, cmake, and ninja deps to Linux windowing_test (flutter/flutter#190119) 2026-08-11 [email protected] [AGP 9.1.0 Migration #1] Add Android Gradle Plugin Public API migration documentation (flutter/flutter#190842) 2026-08-11 [email protected] [flutter_tools] Fix deadlock in debug adapters when process exits early (flutter/flutter#190931) 2026-08-11 [email protected] [tool] Define modular dependency injection containers and bootstrapper (flutter/flutter#190724) 2026-08-11 [email protected] [web] Unify MaskFilter and ColorFilter primitives across CanvasKit and Skwasm (flutter/flutter#190314) 2026-08-11 [email protected] Roll pub packages (flutter/flutter#190958) 2026-08-11 [email protected] [Impeller] Move image upload scheduling waits to GPU disable (flutter/flutter#190445) 2026-08-11 [email protected] Started generating the windows platform for macrobenchmarks (flutter/flutter#190932) 2026-08-11 [email protected] [web] Unify ui.Vertices (flutter/flutter#190563) 2026-08-11 [email protected] Fix accessibility_inspector service extensions map mutability (flutter/flutter#190888) 2026-08-11 [email protected] Add batch3 a11y_assessment for vpat (flutter/flutter#189042) 2026-08-11 [email protected] Remove Xcode environment when building swift tools in Xcode pre-action (flutter/flutter#190848) 2026-08-11 [email protected] [tool] Add missing play element in web test index.html to fix warning (flutter/flutter#190675) 2026-08-11 [email protected] Offload blocking work in ProcessTextPlugin to the background (flutter/flutter#189823) 2026-08-11 [email protected] [flutter_tools] Replace usages of package:dds/dap.dart with package:dap_adapters/dap_adapters.dart (flutter/flutter#190667) 2026-08-11 [email protected] Always update swift package dependencies (flutter/flutter#190886) 2026-08-11 [email protected] [flutter_tools] Add --preset option to flutter test (flutter/flutter#190878) 2026-08-11 [email protected] Include the examples cross imports checker in the analzyer. (flutter/flutter#190674) 2026-08-11 [email protected] [devicelab] Remove orphaned screenshot test files (flutter/flutter#190879) 2026-08-11 [email protected] Remove the bringup flag from the linux_arm_host_desktop_engine builder (flutter/flutter#190935) 2026-08-11 [email protected] Reduce web_skwasm_tests subshards from 8 to 2 (flutter/flutter#190728) ...

This is a task I have to do somewhat frequently and always have to read the docs to get it right. Information taken from https://github.com/flutter/flutter/blob/master/docs/infra/Running-Devicelab-Tests-For-PR.md
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.
If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance.
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the
gemini-code-assistbot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.