Skip to content

Surface failed checks' underlying causes in fix --check - #381

Merged
alejandrohdezma merged 1 commit into
mainfrom
fix/surface-check-failure-causes
Jul 7, 2026
Merged

Surface failed checks' underlying causes in fix --check#381
alejandrohdezma merged 1 commit into
mainfrom
fix/surface-check-failure-causes

Conversation

@alejandrohdezma

Copy link
Copy Markdown
Owner

Checks run through .result so one failure doesn't abort the pipeline, but that also suppresses SBT's own error reporting for the wrapped task. Failures whose details only live in the exception message were reduced to N check(s) failed: ... with nothing actionable in the log — most painfully update's eviction report, where the entire conflict tree is the exception message.

Now every failed check logs its underlying causes (via Incomplete.allExceptions) prefixed with the check's name, e.g.:

[error] [compatibility] 	* com.example:library-core_2.13:2.0.0 (early-semver) is selected over 1.0.0 for compile
[error] [compatibility] 	    +- com.example:app_2.13:1.5.0 (depends on 1.0.0)
[error] [compatibility] this can be overridden using libraryDependencySchemes or evictionErrorLevel
[error] (app / fix) 1 check(s) failed: compatibility

Verified end to end against a build with a deliberately planted eviction conflict wired into fixCheckExtra as an update check. versionPolicyCheck passes (BinaryAndSourceCompatible — internal change only).

Checks run through `.result` so a failure doesn't abort the pipeline,
but that also suppresses SBT's own error reporting for the wrapped
task. Failures whose details only live in the exception message — like
`update`'s eviction report — were reduced to "N check(s) failed" with
nothing actionable in the log.

Every underlying cause is now logged through the check's own banner
prefix as soon as the failure is recorded.
@github-actions github-actions Bot added 🪲 bug Bug fixes ⚖️ XS Size of PR between 10 and 50 lines labels Jul 7, 2026
@alejandrohdezma
alejandrohdezma merged commit 8e728b1 into main Jul 7, 2026
5 checks passed
@alejandrohdezma
alejandrohdezma deleted the fix/surface-check-failure-causes branch July 7, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚖️ XS Size of PR between 10 and 50 lines 🪲 bug Bug fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant