Skip to content

ci: free disk space before embeddings-all builds (#775)#776

Merged
mosuka merged 1 commit into
mainfrom
chore/775-ci-free-disk-space
Jun 3, 2026
Merged

ci: free disk space before embeddings-all builds (#775)#776
mosuka merged 1 commit into
mainfrom
chore/775-ci-free-disk-space

Conversation

@mosuka
Copy link
Copy Markdown
Owner

@mosuka mosuka commented Jun 3, 2026

Summary

The ubuntu-latest x86_64 CI jobs that build --features embeddings-all (candle / tokenizers / hf-hub / image / reqwest) intermittently die with No space left on device. The restored Rust build cache (~790 MB compressed, much larger expanded) plus the embeddings-all build artifacts exceed the runner's root disk by a thin margin, so the failure is intermittent. The ubuntu-24.04-arm job is unaffected (skip_embedding_features: true) and Windows is unaffected (different disk layout). Observed on PRs #772 and #774; cause is only visible via gh api repos/.../check-runs/<job_id>/annotations.

Change

  • Add a reusable composite action .github/actions/free-disk-space that removes unused preinstalled toolchains (.NET, Android SDK, GHC/Haskell, CodeQL bundle) and dangling Docker images (~25-30 GB reclaimed), printing df -h / before and after so future disk regressions are diagnosable from the log. This follows the existing local-composite-action pattern (./.github/actions/install-protoc).
  • Reference it — gated if: runner.os == 'Linux', right after checkout — in the heavy embeddings-all jobs of regression.yml, periodic.yml, and release.yml: clippy, test-laurus, test-server, test-mcp, test-cli, test-python, test-nodejs, test-ruby, test-php (9 jobs × 3 workflows = 27 references).

The removed paths are unused by the Rust / Python / Node toolchains these jobs rely on. Because pull_request runs use the PR's own workflow definitions, this change self-validates — the Free disk space step runs on this PR's CI.

Verification

  • All four YAML files parse cleanly.
  • Verified (via job-mapping) that every insertion lands in one of the 9 intended jobs in each workflow — none in the build-* / publish-* artifact jobs.

Out of scope (possible follow-up)

  • release.yml build-* / publish-* artifact jobs (release-gated, not currently failing).

Closes #775

The ubuntu-latest x86_64 jobs that build --features embeddings-all
(candle / tokenizers / hf-hub / image / reqwest) intermittently died
with "No space left on device": the restored Rust cache plus the build
artifacts exceed the runner's root disk by a thin margin. aarch64
(skip_embedding_features) and Windows are unaffected.

Add a reusable composite action .github/actions/free-disk-space that
removes unused preinstalled toolchains (.NET, Android SDK, GHC/Haskell,
CodeQL bundle) and dangling Docker images (~25-30 GB) and prints free
space before/after. Reference it (Linux-gated, right after checkout) in
the heavy embeddings-all jobs (clippy + test-*) of regression.yml,
periodic.yml, and release.yml. Removed paths are unused by the Rust /
Python / Node toolchains these jobs rely on.

Closes #775
@mosuka mosuka merged commit 5a0242b into main Jun 3, 2026
22 checks passed
@mosuka mosuka deleted the chore/775-ci-free-disk-space branch June 3, 2026 12:41
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.

ci: free disk space before embeddings-all builds to stop intermittent "No space left on device"

1 participant