Skip to content

Harden the executable build cells against uv-cache corruption and disk exhaustion#544

Merged
tobocop2 merged 1 commit into
mainfrom
ci/harden-binary-build-cells
Jul 16, 2026
Merged

Harden the executable build cells against uv-cache corruption and disk exhaustion#544
tobocop2 merged 1 commit into
mainfrom
ci/harden-binary-build-cells

Conversation

@tobocop2

Copy link
Copy Markdown
Owner

Problem

Two runner failure modes each cost a 2.5 hour cell rerun on the last release. A corrupted uv cache (the hardlink-fallback race) installed a litellm whose files came from two different versions, which only the import check catches; and the onefile build's multi-GB intermediates filled the runner's disk while the smoke models restored, after the build itself had succeeded.

Solution

The extras import check now purges the uv cache and re-syncs once before failing the cell, in both the release and CUDA build workflows. The release build drops the Nuitka intermediates (keeping the final binary) before restoring smoke models, after the Windows Nuitka cache save so nothing cache-worthy is lost; ccache is untouched since its post-job hook still saves it.

A corrupted uv cache (hardlink-fallback race) can install a
mixed-version litellm that only an import catches; the extras check now
purges the cache and re-syncs once before failing the cell. And the
onefile build leaves multi-GB intermediates that have filled a runner's
disk while the smoke models restored, after a successful build; drop
them before the models come down, after the Windows Nuitka cache save.

Both cost a 2.5h cell rerun on dev721 for what is now a seconds-scale
retry or a free deletion.
@tobocop2
tobocop2 merged commit bb880a3 into main Jul 16, 2026
8 of 17 checks passed
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