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. 1.Runner service stopped - Service not running
  2. 2.Registration token expired - Invalid token
  3. 3.Network connectivity - Cannot reach server
  4. 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

CheckCommandExpected
Servicesystemctl statusactive
Networkcurl serverHTTP 200
ConfigverifyValid

Verify the Fix

bash
sudo gitlab-runner verify
# Output: Runner is alive
  • [Fix GitLab Runner Registration Failed](/articles/fix-gitlab-runner-registration-failed)
  • [Fix GitHub Actions Failed](/articles/fix-github-actions-workflow-failed)