Guides
How to debug a failing workflow
A job fails in CI and works everywhere else.
5 min read
A job fails in CI and works everywhere else.
Why it happens
The runner environment differs from local in toolchain versions, available memory, parallelism and locale.
How to fix it
- Enable ACTIONS_STEP_DEBUG for verbose runner logs
- Open an SSH session on the runner to inspect live state
- Print the environment and tool versions at job start
- Check for test-order dependence by running with a fixed seed
Your next build could be twice as fast, at half the price
Start free. Migrating away is the same one line, and we publish that diff too.
Related
How to collect runner metricsYou cannot tell whether a job is CPU-bound, memory-bound or disk-bound.How to track build duration percentilesAverage build time looks fine but developers still complain.How to export CI traces with OpenTelemetryCI timing data lives in a separate tool from the rest of your observability.How to query CI data programmaticallyYou need CI data in a dashboard or a weekly report.