Start from the symptom, not the tool
Five symptoms cover most small-team CI pain. The job never starts. The job starts and never ends. The job is killed part-way. The job passes and fails on the same code. The job passes but takes too long. Each has a different cause and a different fix, and a fix for one will not help another. Name yours first, then read the matching guide, which shows how to check the cause without sharing code.
- Never starts: queue, rules or runner.
- Never ends: a waiting process.
- Killed: memory or disk.
- Random: a few named flaky tests.
- Slow: cache, unaffected builds or queueing.
One symptom, one bounded fix
On GitHub Actions, a job that fails with a clear error is the existing £149 single-job repair. That repair is GitHub only: on GitLab CI a job that starts and then fails is not covered by a fixed-price outcome, so ask for a quote. A GitLab job that is never created or never taken by a runner is £175. A job that runs until its timeout is £245. A job killed for memory or disk is £225. Named tests that fail at random, up to five in one repository, are one stabilisation job priced per test, from £395 for one test, and the total for several is the sum of their quotes. A dependency cache that never hits is £195, and a monorepo that builds everything for a small change starts at £795. All are published test prices, untested, paid after you sign off, and each has a stated acceptance check you can read before you ask. None promises a time saving or a duration.
When one fix is not enough
If the pipeline suffers from several of these at once, a project can deliver an agreed duration target and a clean run history together, from £3,500 after a quote based on the run history. If the pipeline needs watching month after month, a monthly service keeps a time budget at £245 a month, or keeps the default branch green at £295 a month. Decide the owner first: guide material on CI ownership explains who should hold the responsibility. None of these replaces a person on your side who reviews and merges, and none includes a response-time guarantee.
What to send first
Send the name of the pipeline and job, the symptom, the platform and the last lines of one failing log with secrets, customer details and code removed. Do not send credentials, tokens or an access invitation. Access, if work is agreed, is arranged afterwards through a company-controlled route and you keep your secrets. This page describes offers we are publishing as new; it does not show that buyers have asked for them, and the prices are hypotheses we want to test.
Sources and limits
- GitHub Actions limits Checked 2026-10-11.
- Concurrent job limits depend on the plan, so waiting can have a cause outside the repository.
- Existing one-job CI repair Checked 2026-10-11.
- Existing monthly CI cover Checked 2026-10-11.