Understanding Service-Lint Reports
Service-Lint reports every violation it finds, grouped by severity. Understanding the severity model tells you what you must fix versus what is advisory.
Severity Levels
| Severity | Meaning | Fails build? |
|---|---|---|
ERROR |
A real problem that blocks a pull request (e.g. inconsistent POM versions, mismatched deployment image tags, disallowed base images). |
Yes |
WARNING |
Should be addressed but does not block by default (e.g. missing CHANGELOG entry, out-of-date base image, CORS wildcard). |
No (by default) |
INFO |
Advisory information (e.g. a newer version of service-lint or the Maven tiles is available). |
No |
Each rule declares its own severity. Browse All Rules to see the severity of every rule, grouped by level.
Exit Codes
Service-Lint sets its process exit code based on ERROR-level violations only:
-
0 — Success: no ERROR-level violations.
-
1 — Failure: one or more ERROR-level violations.
WARNING and INFO violations are printed but do not change the exit code. This is what lets CI gate on ERRORs while still surfacing softer feedback.
failOnViolation
The Maven plugin’s failOnViolation parameter (default true) controls whether ERROR violations
fail the Maven build. Set it to false to run rules and print the report without breaking the build
— useful during a phased rollout or when introducing new rules:
mvn service-lint:check -DfailOnViolation=false
Note this affects the Maven build result; the CLI still returns exit code 1 on ERRORs.
Reducing Noise
If a rule reports something that legitimately doesn’t apply, prefer the narrowest suppression:
-
Exempt specific paths — Ignoring Modules.
-
Turn a rule off entirely — Skipping & Disabling.
|
Prefer fixing a violation over silencing it. Suppress only genuine false positives or accepted exceptions. |