OpenParable
Skip to content
← Back to skills

Experimental Code Coverage Build Invoker

DevOps & Security
experimental-code-coverage-build-invoker

Experimental Code Coverage Build Invoker is an Agent Skill for devops & security published in the chromium/chromium repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Triggers LUCI try jobs to generate code coverage data. Supports Mode 1 (standard git cl try for source CLs) and Mode 2 (led for custom builds).

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/chromium/chromium/blob/HEAD/agents/skills/experimental-code-coverage-build-invoker/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/experimental-code-coverage-build-invoker, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Code Coverage Build Invoker

This skill schedules LUCI try jobs to generate code coverage data. It provides two distinct operational modes based on what is being tested.

When to Use This Skill

Activate this skill when:

  • Triggering verification try jobs on a pending Gerrit CL (git cl try).
  • Comparing baseline coverage against experimental patchsets.
  • Testing local uncommitted recipe modifications or custom build properties (led).

Inputs

  • cl_url: The full URL to the Gerrit CL (e.g., https://chromium-review.googlesource.com/c/chromium/src/+/7916168).
  • builders_of_concern: A list of builder names to trigger (e.g., ["android-x86-rel", "linux-rel"]).

Workflow Modes

Mode 1: Standard CL Verification (git cl try)

Use this mode for submitted or WIP Gerrit CLs modifying application source code (.cc, .java) or Starlark builder configurations (.star).

Execute the command from the repository root:

git cl try -B luci.chromium.try -b builder1 -b builder2

Mode 2: Low-Level Build Dispatch (led)

Use this mode exclusively for debugging unlanded recipe changes, custom build properties, or reproducing historical Swarming runs.

For each target builder, fetch the builder definition, apply unmerged CL modifications (or local recipe bundle), explicitly set the Swarming priority to match standard CQ tryjob traffic (priority = 30), and dispatch:

# Example for patching a CL and setting CQ priority via LED
led get-builder luci.chromium.try:android-x86-rel \
  | led edit-gerrit-cl <cl_url> \
  | jq '.buildbucket.bbagent_args.build.infra.backend.config.priority = 30' \
  | led launch

Example: Testing Local Recipe Modifications

To test unmerged local recipe edits at standard CQ tryjob priority:

led get-builder luci.chromium.try:android-x86-rel \
  | led edit-recipe-bundle \
  | jq '.buildbucket.bbagent_args.build.infra.backend.config.priority = 30' \
  | led launch

Required Output & State Update

  1. Report the Buildbucket build links/URLs for the scheduled jobs mapped to builder name (e.g., {"linux-rel": "https://ci.chromium.org/b/8679163306673603153"}).
  2. Write/update the build links in scratch/triage_state.json mapped to builder name under control_builds (if cl_url matches control_cl) or fix_builds (if cl_url matches fix_cl).

Important Considerations

  • Authentication: Ensure gcert / luci-auth tokens are valid.
  • Syntactic Bucket: Note warnings suggesting chromium/try, but -B luci.chromium.try is syntactically required by git cl try.

References