Move container storage to the large runner disk#23
Merged
Conversation
The Chunkah rechunk step keeps two copies of the root filesystem in podman's storage at once (the built image plus the re-layered output), which exhausted / on the hosted runner and failed the build with "no space left on device". Relocate podman's rootless storage onto /mnt, which has ~66G free versus / after cleanup, leaving the image-copy temp dir on the now-freed / so the two large consumers use separate disks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the disk-exhaustion failure that broke the main-branch build after #22 merged (run 28593366592). The failing step is Rechunk Image with Chunkah, which is unrelated to #22's contents — the same code passed on the #22 PR build; this is an environmental disk-space failure that happens at the margin.
Root cause
After the existing "Maximize build space" step, the hosted runner has:
/— 47G free (holds podman's rootless storage under~/.local/share/containersand/var/tmp)/mnt— 66G free, nearly unusedThe Chunkah rechunk keeps two copies of the root filesystem in podman storage at once (the built image plus the re-layered output) and
podman loadunpacks an OCI archive under/var/tmp. Both live on/, and together they exceeded 47G:Fix
Relocate podman's rootless storage onto
/mnt(66G free) via a symlink, before the first container operation. The image-copy temp dir is deliberately left on/— now freed by moving storage off it — so the two large consumers land on separate disks instead of competing for one.This changes only where container storage lives on the runner; it does not touch image contents or build inputs. The PR build runs Build + Rechunk, so it exercises the fix end-to-end before merge.
🤖 Generated with Claude Code