一键导入
compare-builds
Compare two builds and report new vs recurring failures
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Compare two builds and report new vs recurring failures
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
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
基于 SOC 职业分类
| 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: