Official matchers

38 matchers and 13 bundles. A matcher tells ci-doctor which lines of a failed job's log are the evidence. Pick one, read its fixtures, or try it on your own log.

NameEcosystemRoleDescription
allbundle–Every official matcher, one bundle per ecosystem.
anybundle–Language-agnostic matchers: generic fatal errors, OOM kills and build banners.
bazelanybuildwrapperBazel reporting that an action or target failed. A wrapper - the compiler or test output it relays is the cause.
build_failure_bannerjvmbuildwrapperThe `BUILD FAILURE` / `FAILURE: Build failed` banner Maven and Gradle print once the build gave up.
bunjstestdepstoolA failed `bun test` (the crossed-out test and its assertion), or a `bun install` that found no matching version.
bundlerrubydepstoolBundler failing to resolve - a missing gem, or a version conflict it prints the tree for.
cbundle–C and C++ compile and link errors.
cc_cppcbuildtoolC/C++ builds - CMake configure errors and linker `undefined reference` / `collect2` failures.
composerphpdepstoolComposer's resolver refusing the requirements, with the explanation it prints underneath.
containerbundle–Container image build failures.
cypressjse2etoolA `CypressError` or a retry timeout, with the command log leading up to it.
docker_buildcontainerbuildwrapperBuildKit giving up - `failed to solve` / `executor failed running` - around the Dockerfile step that failed. A wrapper: the `RUN` step's own output is the cause.
dotnetbundle–.NET build errors and test failures.
dotnet_builddotnetbuildtoolMSBuild, Roslyn and NuGet error codes - `error CS0103`, `error NU1101`, `error MSB3073`.
dotnet_testdotnettesttool`dotnet test`: xunit/nunit `[FAIL]` markers and the `Failed!` summary line.
eslintjslinttoolESLint's `line:col error rule-name` entries and its `N problems` summary footer.
generic_erroranyfallbackA line starting `ERROR` or `FATAL` from a tool with no pack of its own - the weakest signal; read it in context.
gobundle–Go test failures and panics.
go_panicgoruntimetoolA Go `panic:` or runtime `fatal error:` with the goroutine dump beneath it.
go_testgotesttool`go test`'s per-test `--- FAIL` marker, plus the assertion output printed under it.
gradlejvmbuildwrapperGradle's `* What went wrong:` block, stopping before the `* Try:` boilerplate advice. A wrapper - it names the failed task, the compiler output above it is the cause.
iacbundle–Infrastructure-as-code apply and plan errors.
jestjstesttoolA jest test failure - the bullet header names the test, and the diff below it shows expected against received.
jsbundle–JavaScript and TypeScript build, test, package-manager and runtime failures.
js_script_exitjswrapperA JS package manager announcing that a lifecycle script exited non-zero - pnpm's `ELIFECYCLE`, bun's `error: script "x" exited with code N`.
jvmbundle–JVM build failures: Maven and Gradle.
makeanybuildwrapper`make: ***` - make reporting that a recipe it ran failed. The recipe's own output above it is the cause.
maven_gradlejvmbuildtoolMaven's `[ERROR]` lines - the compiler and test diagnostics Maven relays.
minitestrubytesttoolMinitest's numbered `1) Failure:` entries and the assertion beneath each one.
node_runtimejsruntimetoolAn uncaught Node error. The message above the stack is the cause; an ESM/CJS resolution error means a missing or mis-declared module.
npmjsdepswrapper`npm ERR!` lines. A wrapper: npm reports the failure of the script it ran, never the cause.
oomanyinfratoolThe job being killed - exit code 137, `Killed`, `Out of memory`. Nothing else in the log explains a SIGKILL.
phpbundle–PHP test failures, fatal errors and Composer conflicts.
php_fatalphpruntimetoolA PHP fatal or parse error and the stack trace after it.
phpunitphptesttoolPHPUnit's `There were N failures` block through to its `FAILURES`/`ERRORS`/`OK` footer.
playwrightjse2etoolA Playwright test failure - the `1) suite > test` header names the test; its trace and diff follow.
pnpmjsdepstoolpnpm's `ERR_PNPM_*` codes - the resolver or lockfile refusing, which is the cause itself.
pytestpythontesttoolpytest's `=== FAILURES ===` block, from the first failing test through to the short summary.
pythonbundle–Python test, lint and runtime failures.
python_lintpythonlinttoolA `file.py:12: error` diagnostic from mypy, ruff, flake8 or pylint.
python_tracebackpythonruntimetoolAn uncaught Python exception. The exception type and message are on the traceback's last line; the frames above show where it was raised.
rspecrubytesttoolRSpec's `Failures:` block through to the `N examples, N failures` tally.
rubybundle–Ruby test failures, exceptions and Bundler errors.
ruby_exceptionrubyruntimetoolAn unhandled Ruby exception - a backtrace frame naming the error class.
rustbundle–Rust compile errors, test failures and panics.
rust_compilerustbuildtoolrustc refusing to compile (`error[E0308]`). The first error is usually the cause; later ones often follow from it.
rust_panicrustruntimetoolA Rust panic, with the message and the frames that follow it.
rust_testrusttesttool`cargo test`'s `failures:` block through to the `test result:` line.
terraformiactoolTerraform's boxed `Error:` and the `on main.tf line 12` it points at.
tscjsbuildtoolA TypeScript compile error (`error TS2345:`) with the source excerpt around it.
yarnjsdepstoolYarn Classic's `error <Capital>` lines and Berry's `YN0000:` diagnostic codes.