Exit Codes and Issue Severity¶
Exit codes¶
0: no issues, or only warning-level issues, were found.1: at least one error-level issue was found.
Only error-level issues fail a run; warning-level issues are always reported but never change the exit code.
Error vs. warning¶
check_broken_paths,check_paths_tracking,check_urls_tracking, andcheck_urls_localeonly ever produce error-level issues.check_broken_urlsproduces a mix, depending on theURLCheckResultreturned for each URL:
Status |
Level |
Meaning |
|---|---|---|
|
A |
|
|
error |
All retries returned non- |
|
warning |
A |
|
warning |
Every attempt failed with a network-level error (e.g. DNS failure, connection timeout) - no HTTP response was ever received. |
|
warning |
Both HEAD and GET returned |
If a URL sees a mix of rate-limiting and transient network failures across
its retries, the outcome is reported as rate_limited unless a hard HTTP
failure was also observed - any hard failure makes the final outcome
broken.
Where output goes¶
In local mode, warnings are printed to the terminal (yellow) after any
error output; in CI mode ($CI=true), they’re emitted as GitHub Actions
::warning annotations instead. See Report Format Reference for how each
--report-format represents severity.