Self-Hosted macOS iOS Build Runner Disk Full
When a Mac build provider, iOS build gateway, or self-hosted runner fails with errno=28, write64() failed, or No space left on device, treat it as an operational policy problem: find the safe cleanup boundary before deleting Xcode state, simulator runtimes, archives, or customer build artifacts.
Separate current-job artifacts, Xcode rebuildable caches, simulator runtimes, package caches, and customer state before resetting the runner.
Use read-only size evidence first. The goal is a repeatable safe/review/do-not-touch policy that every provider can run before routing the next iOS build.
df -h; du -sh "$PWD" "$TMPDIR" "$HOME/Library/Developer/Xcode/DerivedData" "$HOME/Library/Developer/CoreSimulator" "$HOME/Library/Caches" 2>/dev/null; xcrun simctl list runtimes 2>/dev/null | sed -n '1,80p'
Send the failing build symptom and provider disk snapshot.
We will reply with the next safe diagnostic step for the runner. No remote access, no customer file contents.
Want one reusable cleanup policy for your Mac build providers?
The $99 pilot reviews one representative runner scan or failed build log and returns safe/review/do-not-touch rules for Xcode, caches, artifacts, runtimes, and provider rotation.
Do Not Collapse These Buckets
- Current build artifacts: derived outputs, result bundles, logs, temporary archives, videos, screenshots, and package downloads.
- Rebuildable Xcode caches: DerivedData, ModuleCache, SwiftPM build folders, and stale intermediates after the job ends.
- Review-first state: simulator runtimes, DeviceSupport, Archives, signing assets, and cached toolchains required by pinned workflows.
- Provider health: APFS free space, inode pressure, temp volume pressure, and whether another job is still holding files open.
Provider Recovery Order
- Mark the provider unhealthy and stop routing new builds to it.
- Capture read-only disk evidence and the exact path that failed to write.
- Remove current-job temp artifacts owned by the failed job first.
- Clean rebuildable Xcode and package caches only after no job needs them.
- Review simulator runtimes and required toolchains separately before deletion.
- Return the provider to the pool only after a post-cleanup scan shows enough headroom for the largest expected build.
Turn one ENOSPC build into a runner policy
SafeDisk can turn one failed iOS build log or runner scan into a safe cleanup policy for a Mac build farm, self-hosted runner, or build gateway.