From 209ae36163b998124cfa3f596aff50ee809bad09 Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Sun, 27 Sep 2026 07:14:38 -0400 Subject: [PATCH] Free the desktop job's test binaries before its release build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The single CI runner has one 99 GB disk shared with its container images. The desktop job reached 92 GB used (2.1 GB free) on v0.18.0's run, and on v0.18.1's the release build died with "No space left on device", so that tag has no release page. At rest the runner holds about 23 GB; the restored target cache, the models and the dependency build bring a job to about 78 GB before a test runs, and tests plus the release build take the rest. The test executables and examples in target/debug are the largest part of that, are relinked whenever a source changes, and are not what the cache exists for — the dependency rlibs are. Deleting them after the Test step, before the release build, frees several GB at the moment the job is fullest without costing the next run anything the cache would have saved. The step prints the disk afterwards, beside the existing Disk before/after lines. --- .gitea/workflows/build-and-test.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.gitea/workflows/build-and-test.yml b/.gitea/workflows/build-and-test.yml index 80a287b..dc27d52 100644 --- a/.gitea/workflows/build-and-test.yml +++ b/.gitea/workflows/build-and-test.yml @@ -157,6 +157,19 @@ jobs: - name: Test run: cargo test --workspace + # The runner has one 99 GB disk shared with its images, and this job + # ended at 92 GB (2.1 GB free) on v0.18.0's run; v0.18.1's release + # build then died with "No space left on device". The test executables + # and examples in target/debug are the largest things in it, are never + # reused (a changed source relinks them) and are not what the cache is + # for — the dependency rlibs are — so they go before the release build + # rather than competing with it. + - name: Free the test binaries before the release build + run: | + find target/debug/deps -maxdepth 1 -type f -executable -delete + rm -rf target/debug/examples target/debug/incremental + df -h /workspace 2>/dev/null || df -h . + - name: Build run: cargo build --workspace --release