Skip to content

ci: free ~20GB on GHA runner before docker build#5

Merged
mabry1985 merged 1 commit into
mainfrom
ci/free-disk-space
Apr 24, 2026
Merged

ci: free ~20GB on GHA runner before docker build#5
mabry1985 merged 1 commit into
mainfrom
ci/free-disk-space

Conversation

@mabry1985
Copy link
Copy Markdown
Contributor

@mabry1985 mabry1985 commented Apr 24, 2026

Summary

Defensive fix — pip install of the full protoVoice dep set (vllm + torch + nvidia-* CUDA libs + pipecat + kokoro + flashinfer) overflows ubuntu-latest's ~14GB of free disk. v0.12.5 publish and release both failed at:

ERROR: Could not install packages due to an OSError: [Errno 28] No space left on device

within ~3 minutes. The two subsequent PR merges (#3, #4) only succeeded because the buildcache kept the working set small — next time the cache misses (dep bump, buildcache eviction, etc.) it will fail again.

What changed

Adds jlumbroso/free-disk-space@v1.3.1 as the first step in both docker-publish.yml and release.yml. Conservative flags:

Flag Value Rationale
tool-cache false Keep Python/Node toolchains that other actions use
docker-images false Daemon needs them
android true ~9GB reclaimed
dotnet true ~1.7GB
haskell true ~5.2GB
swap-storage true ~4GB
large-packages false Slow to remove, marginal gain

Net ~20GB reclaimed, comfortably above the overflow point.

Test plan

  • Merge → docker-publish.yml runs on main → completes without No space left regardless of buildcache state.
  • When v0.12.6 tag is cut, release.yml builds on the same reclaimed runner and creates both the semver Docker tags and the GitHub Release.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Enhanced GitHub Actions workflows to improve build reliability by optimizing disk space utilization during the deployment process.

pip install of the full dep set (vllm + torch + nvidia-* CUDA libs +
pipecat + kokoro + flashinfer) overflows ubuntu-latest's ~14GB of free
disk. v0.12.5 publish AND release both failed at `ERROR: Could not
install packages due to an OSError: [Errno 28] No space left on device`
within ~3 min — the subsequent PR merges only succeeded because the
buildcache kept the working set small.

Adds jlumbroso/free-disk-space@v1.3.1 before the docker build in both
workflows. Conservative flags: keep tool-cache (Python/Node used by
other actions) and docker-images (the daemon needs them); drop Android
SDK (~9GB), .NET (~1.7GB), Haskell (~5.2GB), swap (~4GB).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mabry1985 mabry1985 merged commit 98e3af1 into main Apr 24, 2026
@mabry1985 mabry1985 deleted the ci/free-disk-space branch April 24, 2026 16:39
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 24, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 01f73056-0510-42a3-b538-0072ecf3f1ac

📥 Commits

Reviewing files that changed from the base of the PR and between ef8e63e and 339ef29.

📒 Files selected for processing (2)
  • .github/workflows/docker-publish.yml
  • .github/workflows/release.yml

Walkthrough

Two GitHub Actions workflow files are updated to include a disk space reclamation step before subsequent build operations. This step uses a free-disk-space action configured with conservative settings to prevent "No space left on device" errors during Docker builds and dependency installation.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Disk Space Recovery
.github/workflows/docker-publish.yml, .github/workflows/release.yml
Adds a jlumbroso/free-disk-space@v1.3.1 action step before subsequent build steps to reclaim disk space on GitHub Actions runners using conservative settings that preserve tool-cache and Docker images while enabling swap storage.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/free-disk-space

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant