Repository navigation
fix(check): say a mixed check is incomplete when a target cannot run - #132
Merged
Merged
Conversation
When one target of a mixed check cannot run, for example a Rust target without cargo next to a Python target with custom rules, fensu check already exits 2 and prints the error, but the report of the targets that did run ended with "Found 0 faults", which reads like a clean check. The summary now says "Check incomplete: found N faults in the targets that ran". Those targets' faults are still printed.
kvlonge
enabled auto-merge (squash)
November 10, 2026 00:33
Deploying fensu with
|
| Latest commit: |
473b01b
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://0b6cf7d0.fensu.pages.dev |
| Branch Preview URL: | https://fix-incomplete-check-summary.fensu.pages.dev |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
When one target of a mixed check cannot run,
fensu checkexits 2 and prints the error, but the report of the targets that did run still ended withFound 0 faults. Read on its own, as a log tail or a CI summary, that looks like a clean check of the whole repository. One example is a Rust target withoutcargonext to a Python target with custom rules.Changes
When a target of a mixed check fails, its error still goes to stderr and the exit code stays 2. The faults of the targets that ran are still printed, but the summary now reads:
It is coloured as unhealthy even when the count is 0.
A complete check keeps
Found N faults. A single-target check that cannot run already exits 2 before any report, as before.docs/rust.md describes the incomplete summary.
Verification
cargomissing. It expects exit 2, theFPRSL902 … cargo not founderror, the incomplete summary, and noFoundline. It fails onmain, which printsFound 1 fault, and passes with this change.cargo test -p fensu-cli --test command: 141 passed.test_rule::given_forced_color_…fails here onmaintoo, which looks environmental.cargo test -p fensu-cli --lib: 36 passed.cargo fmt --check,cargo clippy --all-targets -- -D warnings, andfensu checkon this repository (Rust and Python targets) are clean.