Skip to content

Adds agent skill for spawning led tasks. - #190937

Merged
auto-submit[bot] merged 2 commits into
flutter:masterfrom
gaaclarke:led-skill
Aug 12, 2026
Merged

auto-submit[bot] merged 2 commits into
flutter:masterfrom
gaaclarke:led-skill

Conversation

@gaaclarke

Copy link
Copy Markdown
Member

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-assist bot 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.

@gaaclarke
gaaclarke requested a review from reidbaker as a code owner August 11, 2026 17:21
@flutter-dashboard flutter-dashboard Bot added the CICD Run CI/CD label Aug 11, 2026
@gaaclarke
gaaclarke requested a review from b-luk August 11, 2026 17:21
@gaaclarke

Copy link
Copy Markdown
Member Author

Adding @b-luk since he recently had to do this too.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .agents/skills/run-devicelab-with-led/SKILL.md
- **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' \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Suggested change
| led edit -pa git_ref='refs/pull/67890/head' \
| led edit -pa git_ref='refs/heads/master' \

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've deleted this section

Comment on lines +18 to +20
# 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).

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@reidbaker I think you prefer to delete this section?

Comment thread .agents/skills/run-devicelab-with-led/SKILL.md
Comment thread .agents/skills/run-devicelab-with-led/SKILL.md Outdated
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' \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this a typo? missing a space here and some of the following lines edit-pa vs edit -pa

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you only need to check out recipes repo if you're changing a recipe, right?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found bb collect to be useful for agents to efficiently watch for completion in the background

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, not all tests, you get to chose which tests with the builder name.

@github-actions github-actions Bot added team-infra Owned by Infrastructure team d: docs/ flutter/flutter/docs, for contributors labels Aug 11, 2026

@jtmcdole jtmcdole left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🪙 The CodeFu LGTM Coin: Hard currency for soft commits.

  • Value: Pegged directly to 100 perfectly formatted Dart lines.
  • Utility: Redeemable for an emergency CI queue-jump or bypassing a non-blocking linter warning.
  • ⚠️ Warning: Subject to sudden hyperinflation if the engine roll breaks main.

codefu-coin

@gaaclarke gaaclarke added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 12, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Aug 12, 2026
Merged via the queue into flutter:master with commit 2c80e9b Aug 12, 2026
22 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Aug 12, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Aug 13, 2026
…#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)
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD d: docs/ flutter/flutter/docs, for contributors team-infra Owned by Infrastructure team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants