Compare two Depot CI runs
depot_compare_ci_runsCompare two CI runs side-by-side to reveal regressions, new failures, and performance changes between commits. Pinpoint status shifts, slower jobs, memory changes, and which failures are new or fixed.
Instructions
Compare two Depot CI runs side by side: which jobs changed status, got slower or faster, used more memory, appeared or disappeared, and which failures are new in the second run versus fixed since the first.
Use this when the question is about the difference between two runs rather than one run on its own: "what regressed between these two commits", "is this failure new or was it already broken on main", "did the retry fail the same way" (a flaky failure produces a different error message across runs; a deterministic one repeats), or "why is this run slower than the last one".
runA is the baseline (older, or known-good) and runB is the run under question; deltas read B minus A. Jobs are matched by their job key, so both runs should come from the same workflow or the matrix will be mostly "only in A" and "only in B". Failure fingerprints come from Depot's failure analysis and are only fetched for the sides that actually failed.
For a single run, use depot_diagnose_ci_failure instead: it explains the failure with diagnosis, suggested fix, and evidence lines, none of which this tool returns.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| runA | Yes | Baseline run id (the older or known-good run), as returned by depot_list_ci_runs. | |
| runB | Yes | Run id to compare against the baseline (the newer or suspect run). Deltas are B minus A. | |
| maxJobs | No | Cap on job matrix rows. Rows that changed (status or presence) are kept first. | |
| includeDiagnosis | No | Fetch Depot failure analysis for each failed side to list failures new in B and resolved in B. Set false to compare only status, timing, and memory. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| jobs | Yes | ||
| runA | Yes | ||
| runB | Yes | ||
| notes | Yes | ||
| metrics | Yes | Whether GetRunMetrics answered for each side. | |
| onlyInA | Yes | ||
| onlyInB | Yes | ||
| failures | Yes | ||
| diagnosis | Yes | Whether a failure diagnosis was fetched for each side. | |
| truncated | Yes | ||
| jobsOmitted | Yes | Rows dropped by maxJobs; changed rows are kept first. | |
| jobsReturned | Yes | ||
| statusChanges | Yes | ||
| contentWarning | Yes |