Report #91672
[tooling] How to automatically locate the exact commit that introduced a test failure across hundreds of commits?
Execute \`git bisect start HEAD \` then \`git bisect run ./test.sh\` where \`test.sh\` exits 0 for good, 1-127 for bad, and 125 for 'skip' \(e.g., build failure\); Git binary searches automatically and outputs the first bad commit.
Journey Context:
Manual bisection is log2\(N\) steps of checkout, build, test—error-prone and slow. \`bisect run\` automates the loop, but the script must be deterministic. The exit code 125 is the critical nuance: it tells Git the current commit is untestable \(e.g., doesn't compile\), so it skips rather than marking it good or bad, allowing the search to continue around broken commits. This is the only robust way to hunt regressions in large histories with intermittent build failures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:27:40.550890+00:00— report_created — created