PatchRail

Read the red build.

The first question in front of a failing build is never “what’s broken in my code?” — it’s which subsystem failed. Match the log signature to one of these 31 classes, then read the fix.

Run it in CI

Add the PatchRail Action to annotate failed builds with the matching fix page.

The action runs the same classifier locally in GitHub Actions, redacts before classification, and links each failure class back into this index.

- name: PatchRail CI Triage
  if: failure()
  uses: patchrail/ci-triage-action@v1
  with:
    log-path: path/to/ci.log
1Runner resource exhaustion — exit code 137 / OOMKilledProcess completed with exit code 137
2Transient network failures — ECONNRESET / EAI_AGAIN / 5xxgetaddrinfo EAI_AGAIN
3Job timeouts and cancellations — exceeded the maximum execution timehas exceeded the maximum execution time of 360 minutes
4Python dependency resolution — ResolutionImpossibleCould not find a version that satisfies the requirement
5Coverage threshold failures — Required test coverage of N% not metRequired test coverage of 80% not reached
6Python type checking — Found N errors / [arg-type]Found 12 errors in 4 files
7Python lint and formatting — F401 / would reformatF401 imported but unused
8Python test failures — FAILED test.py::test / AssertionErrorFAILED tests/test_x.py::test_name
9Node package installation — ERESOLVE / npm ci lockfile mismatchnpm ci can only install packages when your package.json and package-lock.json
10TypeScript type checking — TS2339 / is not assignableerror TS2339: Property 'x' does not exist on type
11JavaScript and TypeScript lint — eslint no-unused-vars / prettiererror 'x' is defined but never used no-unused-vars
12Broken workflow wiring — Invalid workflow file / Unable to resolve actionInvalid workflow file
13Artifact and cache failures — No files were found with the provided pathNo files were found with the provided path
14Publish and release conflicts — EPUBLISHCONFLICT / File already existsYou cannot publish over the previously published versions
15Checkout, clone, submodule, and LFS failures — Authentication failedfatal: Authentication failed
16Merge and rebase conflicts — Automatic merge failed; fix conflictsAutomatic merge failed; fix conflicts and then commit the result
17Missing secrets and insufficient permissions — Input required and not suppliedError: Input required and not supplied
18Security scan failures — CVE / GHSA / Severity HIGHfound 3 high severity vulnerabilities
19.NET build failures — NU1605 / NETSDK / CS errorserror NU1605: Detected package downgrade
20Java build failures — Unsupported class file major versionUnsupported class file major version 65
21Docker image build failures — failed to solve / failed to compute cache keyfailed to solve
22C/C++ native build failures — undefined reference / No such filefatal error: foo.h: No such file or directory
23Browser end-to-end test failures — Executable doesn't exist / Timeout exceededExecutable doesn't exist at /ms-playwright/chromium
24Rust test failures — error[E____] / thread panickederror[E0308]: mismatched types
25Ruby Bundler failures — Bundler could not find compatible versionsBundler could not find compatible versions for gem
26PHP Composer failures — could not be resolved to an installable setYour requirements could not be resolved to an installable set of packages
27Go test failures — FAIL / panic: test timed out--- FAIL: TestName
28Node test runner failures — Tests: N failed / Expected: Received:Tests: 2 failed, 18 passed
29Rust lint (clippy) — error[clippy::...] / -D warningserror: this `if` has identical blocks
30Go lint (golangci-lint) — (errcheck) / (govet) / (staticcheck)main.go:12:6: Error return value is not checked (errcheck)
31Terraform and IaC failures — Error acquiring the state lockError acquiring the state lock

The guides, on your machine.

Every class in this index ships inside the open-source patchrail CLI. Feed it a raw log and it points back at the matching guide — locally, with secrets redacted first. If it saves you a debugging morning, a star helps other maintainers find it.

★ Star on GitHubpipx install patchrail