GitHub Actions Errors and How to Fix Them
The exact error message, what causes it, and the fix, with working YAML.
- API Rate Limit Exceeded in GitHub Actions: FixesFix "API rate limit exceeded for installation ID" in GitHub Actions: GITHUB_TOKEN allows 1,000 requests per hour per repo. Secondary limits and fixes.
- Cache Not Found for Input Keys: Causes and FixesCache not found for input keys in GitHub Actions is a cache miss, not always an error. Why it happens, how key and branch scope work, and fixes.
- Docker Pull Rate Limit in GitHub Actions: FixesFix "toomanyrequests: You have reached your pull rate limit" in GitHub Actions: Docker Hub limits, docker/login-action, mirrors and GHCR alternatives.
- Hosted Runner Lost Communication With the ServerFix "The hosted runner lost communication with the server" in GitHub Actions: causes like OOM, disk full and killed processes, with steps to diagnose.
- Job Exceeded Maximum Execution Time: timeout-minutesFix "The job running on runner has exceeded the maximum execution time of 360 minutes" in GitHub Actions. How timeout-minutes works for jobs and steps.
- Job Not Started: Recent Account Payments Have FailedFix "The job was not started because recent account payments have failed or your spending limit needs to be increased" in GitHub Actions.
- No Space Left on Device in GitHub Actions: FixesFix "No space left on device" in GitHub Actions: how much disk a runner has, what fills it, safe cleanup steps, Docker prune and larger runners.
- Process Completed With Exit Code 137: FixesFix "Process completed with exit code 137" in GitHub Actions: it means SIGKILL, usually out of memory. Node, Jest, Gradle and Docker fixes included.
- The Operation Was Canceled in GitHub ActionsFix "The operation was canceled" in GitHub Actions: concurrency cancel-in-progress, timeouts, matrix fail-fast and runner shutdown, with YAML examples.
- Waiting for a Runner to Pick Up This Job: FixesFix "Waiting for a runner to pick up this job" in GitHub Actions: concurrency limits per plan, runs-on label mismatch, offline self-hosted runners.