with one click
compare-builds
Compare two builds and report new vs recurring failures
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Compare two builds and report new vs recurring failures
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | compare-builds |
| description | Compare two builds and report new vs recurring failures |
| user-invocable | true |
Compare two Jenkins builds of the same job and produce a report highlighting new failures, recurring failures, and resolved failures between them.
/compare-builds <job-path> --build <number1> --build <number2>
<job-path> (required) — full Jenkins job path: <team>/<ipv4|ipv6>/<component> (e.g. proton/ipv4/sat-stream-rhel9-Insights-Advisor)--build <number1> --build <number2> (required) — the two build numbers to compare. The lower number is treated as the older build.Examples:
/compare-builds proton/ipv4/sat-stream-rhel9-Insights-Advisor --build 34 --build 35/compare-builds proton/ipv4/sat-stream-rhel9-RHCloud --build 1018 --build 1019Run houston analyze for each build to generate context files:
houston analyze "<job-path>" --build <older-build> --verbose 2>&1
houston analyze "<job-path>" --build <newer-build> --verbose 2>&1
Note the context file paths from each run.
Read both context files to extract the failure data from each build:
file::test_name[params] string)Compare the two builds by test ID to categorize each failure:
When matching test IDs, strip parameterized suffixes (e.g., [rhel9-ipv4-local]) to group parameterized variants together. If all variants of a parameterized test fail in both builds with the same error, treat them as one recurring failure group.
Save the report to resources/analysis/<job>/<older-build>_vs_<newer-build>_comparison.md.
The report MUST follow this structure:
# Build Comparison: <job> #<older> vs #<newer>
**Older build**: #<older> — <result> | <N> failures | <date>
**Newer build**: #<newer> — <result> | <N> failures | <date>
**New failures**: <count> | **Recurring**: <count> | **Resolved**: <count>
---
## New Failures (<count>)
These failures appeared in #<newer> but were NOT present in #<older>.
### <test_name> (<count> variants)
**Test ID**: `<full test ID>`
**Error**: `<exception class>`
**Traceback**:
\```
<full stacktrace from the context file>
\```
**Error message**:
\```
<error message>
\```
---
## Recurring Failures (<count>)
These failures are present in both builds.
### <test_name> (<count> variants)
**Test ID**: `<full test ID>`
**Error**: `<exception class>`
**Same error in both builds**: yes/no
**Traceback** (from #<newer>):
\```
<full stacktrace>
\```
---
## Resolved Failures (<count>)
These failures were present in #<older> but are NOT in #<newer>.
### <test_name>
**Test ID**: `<full test ID>`
**Error was**: `<exception class>`
---
## Summary
| Category | Count |
|----------|-------|
| New failures | ... |
| Recurring failures | ... |
| Resolved failures | ... |
| Total failures (older) | ... |
| Total failures (newer) | ... |
Print a summary:
Full pipeline — gather failures, analyze, and search for known fixes
Analyze a context file of test failures and produce a fix report
Fetch Jenkins build failures and generate a context file for analysis
Import a verified fix from a merged PR into the knowledge base
Search the knowledge base for known fixes related to test failures