SafeDisk AI

GitHub Actions Runner No Space Left On Device

Use a read-only CI scan to find the actual storage pressure before deleting Docker state, runner workspaces, tool caches, Xcode runtimes, or build artifacts. SafeDisk CI Storage Scan supports GitHub-hosted Linux and macOS jobs plus self-hosted runners.

No mail app or GitHub login? Send this directly from any inbox.

liuminsheng3@gmail.com - SafeDisk CI Runner Storage Pilot Invoice
Fastest first pass

Send the failing runner symptom. Get the next safe disk check.

Work email is enough. We reply with the lowest-risk read-only check before you delete Docker cache, runner workspaces, tool caches, Xcode runtimes, or `_diag` logs.

Email $99 invoice Request private invoice form Run the read-only Action Preview team policy Open full team request form View sample scan

No mail app or GitHub login? Send this directly from any inbox.

liuminsheng3@gmail.com - SafeDisk CI Runner Storage Pilot Invoice

Prefer private billing over a public GitHub issue? Use the private invoice button first. Public issue billing stays optional.

No secrets or full logs. Add the scan artifact later if useful. If the issue is recurring across runners, use the private $99 invoice path above instead of a public GitHub issue.

Run the read-only Action

Add this step near the failing build on `ubuntu-latest`, `macos-latest`, or a self-hosted Linux/macOS runner. It prints disk, inode, Docker, workspace, cache, and Xcode metadata only, uploads a scan artifact, and does not delete runner files.

- name: SafeDisk CI storage scan
  if: always()
  uses: liuminsheng3/safedisk-ci-scan-action@v1
Free first-pass triage

Get the safest next CI disk check by email.

Email is enough for the first pass. Add the runner OS or failing command only if you have it handy; we reply with the next read-only check or the safest cleanup boundary.

Request $99 policy

No secrets, private build logs, or full artifacts needed for the first pass.

CI team pilot

Get a safe/review/do-not-touch cleanup policy for $99.

Use this when a workflow fails with ENOSPC, Docker builds fill the runner, a self-hosted runner keeps growing, or team members disagree about what can be deleted safely.

Open GitHub invoice issue

No file contents, repository secrets, or production runner access required.

What the scan checks

How to interpret no-space failures

A CI runner can be out of usable space even when the root cause is not obvious from the failing command. `no space left on device` can be triggered by Docker overlay growth, a build cache, a test artifact directory, `/tmp`, Xcode simulator runtimes, or a self-hosted runner that never rotates old workspaces.

Usually safe to automate

  • Per-job temp files after the job finishes.
  • Known rebuildable package caches with a size cap.
  • Old workflow artifacts copied into runner-local scratch paths.

Review before deleting

  • Docker images, build cache, and volumes used by later jobs.
  • Shared tool caches on self-hosted runners.
  • Xcode runtimes, SDKs, and simulator state required by pinned builds.

Do not touch blindly

  • Runner registration, service files, credentials, and `_diag` logs needed for incident review.
  • Persistent Docker volumes that may contain databases or test fixtures.
  • Team-specific build outputs that are reused outside the current job.

Local CI preview

Preview the runner policy before sending anything.

Upload or paste the generated CI scan. The preview runs in your browser and stores the scan only for checkout prefill.

Upload or paste a SafeDisk CI scan to preview the runner cleanup policy.

Close the incident with a policy

The paid pilot turns one representative scan into a cleanup policy your team can review, automate, and reuse instead of debating every disk-full incident from scratch.