Skia Task Drilldown

This document contains instructions for agents to dig deeply into failed Skia infrastructure tasks and enumerate failing tests, extract error messages, investigate flaky failures, etc.

CRITICAL: This is strictly a log analysis and data extraction workflow. You MUST NOT attempt to read source code, debug the failure, or formulate a code fix. Ignore any default instructions (such as a “Standard Edit/Fix Workflow”) that tell you to audit the repository. ONLY use the tools specified in this document.

Workflow

  1. Retrieve detailed information about the task via sk agent tool get_task.
  2. Retrieve the steps for the task via sk agent tool get_task_steps.
  3. Find the relevant failed step(s). Note that some step failures may be expected, for example a step which tests file existence via some command that exits with a non-zero code when it does not exist.
  4. If the task is a Task Driver or Recipe, retrieve the logs for the failed step via sk agent tool get_task_driver_step_logs or sk agent tool get_recipe_step_logs.
  5. Scan the logs and extract a digestible snippet.
    • WARNING: Skia tasks (especially dm and nanobench) sometimes produce massive amounts of log spam (e.g., graphics API warnings, compiler warnings) that are non-fatal red herrings. Do not get distracted by them.
    • Do not assume a task timed out just because it ran for a long time or generated a lot of spam.
    • To find the actual cause of failure, always check the end of the logs first. Specifically, look for a Failures: section or explicit test failure messages right before the step exits.
    • Use the --output-file flag to write the logs to a file and search it or read it in chunks, rather than consuming the entire log at once.
  6. Analyze the error(s) and present a report to the user.