agents/skills/experimental-code-coverage-config-validator/SKILL.md
Use this skill to verify if a Chromium builder is correctly configured in its
generated GN arguments (gn-args.json) to produce code coverage data.
When invoking this skill, the caller MUST pass the following inputs in the prompt:
builders_of_concern: Target builder names to validate (e.g.,
["linux-rel"]). To locate the Starlark .star definition file for each
builder, reference:
builder_star_map.json.language_context: The programming language context ("cpp", "objc",
"rust", "java", "js", or "ts"). Consult
language_coverage_map.json for authoritative mappings.Consult language_coverage_map.json for the required settings mapped
to language_context. Verify that the builder's configuration (gclient_config
and generated gn-args.json) satisfies both:
builder_spec.gclient_config to confirm
any required_gclient_vars (e.g., checkout_clang_coverage_tools set via
apply_configs = ["use_clang_coverage"]).gn_args): Inspect generated gn-args.json to confirm all
required_gn_args are present.builder_name inside
infra/config/generated/builders/gn_args_locations.json to resolve its
relative path (e.g., "try/linux-rel/gn-args.json"). Read the JSON file at
infra/config/generated/builders/<relative_path>."gn_args" dictionary in the JSON.language_context.lucicfg generate infra/config/main.star.language_context is "cpp", "objc", or
"rust", append a reminder that local Clang code coverage generation
requires "checkout_clang_coverage_tools": True in the developer's
~/.gclient file under custom_vars.Builder linux-rel validation successful for language context cpp. All required GN arguments (
use_clang_coverage = true,is_clang = true, andis_debug = false) are present ingn-args.json.
Builder linux-rel for language context cpp requires updates:
LACKING:
"is_debug": falseis missing ingn-args.json.SUGGESTED CHANGE: Update the Starlark builder definition to set
is_debug = Falseand runlucicfg generate infra/config/main.star.REMINDER: For local C++ coverage generation, ensure your
~/.gclientfile contains:pythoncustom_vars = { "checkout_clang_coverage_tools": True, }
Builder android-x86-rel for language context java requires updates:
- LACKING:
"use_jacoco_coverage": trueis missing ingn-args.json.- SUGGESTED CHANGE: Update the Starlark builder definition to set
use_jacoco_coverage = Trueand regenerate configs vialucicfg.