What's Actually Happening
Your GitLab Runner or GitHub Actions self-hosted runner shows as offline and cannot pick up jobs.
The Error You'll See
```bash # GitLab shows: Runner is offline Last contact: Never
# GitHub shows: All runners are currently offline ```
Why This Happens
- 1.Runner service stopped - Service not running
- 2.Registration token expired - Invalid token
- 3.Network connectivity - Cannot reach server
- 4.Configuration error - Wrong config file
Step 1: Check Runner Status
```bash # GitLab Runner: sudo gitlab-runner status
# GitHub Actions: sudo systemctl status actions-runner.service ```
Step 2: Restart Runner
```bash # GitLab: sudo gitlab-runner restart
# GitHub: sudo systemctl restart actions-runner.service ```
Step 3: Re-register Runner
```bash # GitLab: sudo gitlab-runner unregister --all-runners sudo gitlab-runner register --url https://gitlab.com --token $TOKEN
# GitHub: ./config.sh --url https://github.com/owner/repo --token $TOKEN ```
CI Runner Checklist
| Check | Command | Expected |
|---|---|---|
| Service | systemctl status | active |
| Network | curl server | HTTP 200 |
| Config | verify | Valid |
Verify the Fix
sudo gitlab-runner verify
# Output: Runner is aliveRelated Issues
- [Fix GitLab Runner Registration Failed](/articles/fix-gitlab-runner-registration-failed)
- [Fix GitHub Actions Failed](/articles/fix-github-actions-workflow-failed)