run-devicelab-with-led

Run DeviceLab tests for Flutter 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…

npx skills add https://github.com/flutter/flutter --skill run-devicelab-with-led

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.

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
    

Plus de skills de flutter

dart-modern-features
flutter
Pour trouver des candidats à la modernisation :
flutter-fix-layout-issues
flutter
Corrige les erreurs de mise en page Flutter (débordements, contraintes illimitées) à l'aide des outils Dart et Flutter MCP. À utiliser pour résoudre les messages « RenderFlex overflowed », « Vertical…
adding-release-notes
flutter
Ajoute des descriptions de changements destinés aux utilisateurs dans les notes de version de DevTools. À utiliser pour documenter les améliorations, correctifs ou nouvelles fonctionnalités dans le fichier NEXT_RELEASE_NOTES.md.
reviewing-devtools-prs
flutter
Workflow de revue de PR spécifique au dépôt DevTools, appliquant les directives de style DevTools et les modèles de revue courants. À utiliser lors de la revue de pull requests dans le…
dart-use-primary-constructors
flutter
Aider les utilisateurs à écrire des constructeurs principaux syntaxiquement et sémantiquement corrects en Dart, et migrer/utiliser la nouvelle syntaxe de constructeur, la syntaxe de point-virgule à corps vide,…
code-documentation
flutter
Guide pour rédiger une documentation de code efficace, incluant les docstrings, JSDoc, dartdoc et les commentaires d'implémentation. Utilisez cette compétence lors de l'écriture de nouveau code, de l'ajout…
api-review
flutter
Examine le code spécifié par rapport aux directives canoniques de conception d'API. Utilisez cette compétence lorsque l'utilisateur demande une revue d'API ou souhaite vérifier que le code respecte la conception d'API…
flutter-accessibility
flutter
Implémente les normes d'accessibilité WCAG 2 et EN 301 549 ainsi que les mises en page adaptatives dans les applications Flutter. Applique les annotations sémantiques, les tailles de cible tactile (48x48 dp minimum) et les ratios de contraste de texte (4,5:1 pour le petit texte, 3:1 pour le grand texte) sur les plateformes mobiles, web et de bureau. Fournit une logique décisionnelle pour l'initialisation de la sémantique web, l'encapsulation de widgets interactifs, le changement de mise en page basé sur la taille d'écran et la gestion des entrées clavier/souris. Inclut la gestion du parcours de focus via FocusTraversalGroup et...