RUNNER_OFFLINE_TIMEOUT cicd system_error ai_generated true

This request was automatically failed because there were no enabled runners online to process it for more than 1 day

ID: cicd/github-actions-disk-space

Also available as: JSON · Markdown · 中文
85%Fix Rate
88%Confidence
1Evidence
2024-03-15First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
GitHub Actions runner 2.311.0 active
GitHub Enterprise Server 3.10 active

Root Cause

GitHub Actions workflow triggered but no matching runner (self-hosted or GitHub-hosted) was online and enabled to accept the job for over 24 hours, causing the request to expire.

generic

中文

GitHub Actions工作流已触发,但超过24小时内没有匹配的运行器(自托管或GitHub托管)在线并启用以接受该作业,导致请求过期。

Official Documentation

https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners

Workarounds

  1. 85% success Check runner status via GitHub UI: Settings > Actions > Runners. If offline, re-run the config script on the runner machine: `./config.sh --url https://github.com/your-org --token NEW_TOKEN` then `./run.sh`
    Check runner status via GitHub UI: Settings > Actions > Runners. If offline, re-run the config script on the runner machine: `./config.sh --url https://github.com/your-org --token NEW_TOKEN` then `./run.sh`
  2. 95% success Provision a new runner instance if the old one is unrecoverable: use GitHub's auto-scaling runner setup or create a fresh VM with the latest runner version
    Provision a new runner instance if the old one is unrecoverable: use GitHub's auto-scaling runner setup or create a fresh VM with the latest runner version

中文步骤

  1. Check runner status via GitHub UI: Settings > Actions > Runners. If offline, re-run the config script on the runner machine: `./config.sh --url https://github.com/your-org --token NEW_TOKEN` then `./run.sh`
  2. Provision a new runner instance if the old one is unrecoverable: use GitHub's auto-scaling runner setup or create a fresh VM with the latest runner version

Dead Ends

Common approaches that don't work:

  1. 65% fail

    If the runner's token has expired or the runner is registered to a different org/repo, restarting alone won't reconnect it to the correct workflow queue

  2. 90% fail

    Re-triggering without an available runner will just queue the job again, leading to the same timeout after another 24 hours