run-devicelab-with-led

oleh flutter

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
    

Lebih banyak skill dari flutter

dart-modern-features
flutter
Untuk menemukan kandidat untuk modernisasi:
flutter-fix-layout-issues
flutter
Memperbaiki kesalahan tata letak Flutter (overflow, batasan tak terbatas) menggunakan Dart dan alat Flutter MCP. Gunakan saat menangani "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
Menambahkan deskripsi perubahan yang terlihat oleh pengguna ke catatan rilis DevTools. Gunakan saat mendokumentasikan perbaikan, perbaikan bug, atau fitur baru di file NEXT_RELEASE_NOTES.md.
reviewing-devtools-prs
flutter
Alur kerja peninjauan PR khusus repositori DevTools yang menerapkan pedoman gaya DevTools dan pola peninjauan umum. Gunakan saat meninjau pull request di…
dart-use-primary-constructors
flutter
Bantu pengguna menulis konstruktor utama yang benar secara sintaksis dan semantik dalam Dart, serta migrasi/menggunakan sintaks konstruktor baru, sintaks titik koma badan kosong,…
code-documentation
flutter
Panduan untuk menulis dokumentasi kode yang efektif, termasuk docstrings, JSDoc, dartdoc, dan komentar implementasi. Gunakan keterampilan ini saat menulis kode baru, menambahkan…
api-review
flutter
Meninjau kode yang ditentukan terhadap pedoman API Design kanonik. Gunakan skill ini saat pengguna meminta tinjauan API atau untuk memeriksa kode terhadap desain API…
flutter-accessibility
flutter
Menerapkan standar aksesibilitas WCAG 2 dan EN 301 549 serta tata letak adaptif di aplikasi Flutter. Memberlakukan anotasi semantik, ukuran target ketuk (minimal 48x48 dp), dan rasio kontras teks (4,5:1 untuk teks kecil, 3:1 untuk teks besar) di platform seluler, web, dan desktop. Menyediakan logika keputusan untuk inisialisasi semantik web, pembungkusan widget interaktif, peralihan tata letak berdasarkan ukuran layar, serta penanganan input keyboard/mouse. Mencakup manajemen traversal fokus melalui FocusTraversalGroup dan...