ci: free disk before the LLVM cache restore in the linux test job#4988
Merged
lum1n0us merged 1 commit intoJul 8, 2026
Merged
Conversation
e9db6e7 to
003cc3a
Compare
The multi-tier-jit `test` job restores the prebuilt LLVM libraries cache via actions/cache; on the standard runner that cache does not always fit alongside the preinstalled toolchains, and the restore can fail with "no space left on device", surfacing as "can not get prebuilt llvm libraries". Free ~20 GB of preinstalled toolchains this build never uses (dotnet, android, ghc, the CodeQL bundle, boost) before the restore, only in the legs that actually download LLVM. No test is added, removed, or skipped. The containerized spec_test_on_qemu job hits the same ENOSPC but cannot be fixed this way: its steps run inside a docker container and cannot free host disk. That surface is covered by bytecodealliance#4983, which removes the external LLVM cache entirely.
003cc3a to
26677e2
Compare
lum1n0us
approved these changes
Jul 8, 2026
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.
Summary
The multi-tier-jit
testjob incompilation_on_android_ubuntu.ymlrestores the prebuilt LLVM libraries cache viaactions/cache. On the standard runner that cache does not always fit alongside the preinstalled toolchains, and the restore can fail with "no space left on device", which then surfaces as##[error]can not get prebuilt llvm librariesand fails the job.Fix
Free ~20 GB of preinstalled toolchains this build never uses (
dotnet,android,ghc, theCodeQLbundle,boost) immediately before theactions/cacherestore — and only in the legs that actually download LLVM (gated on the sameUSE_LLVM == 'true'condition as the restore step). No test is added, removed, or skipped; the QA coverage is unchanged.Verified on this PR's own CI: all nine
test (ubuntu-22.04, multi-tier-jit, …)legs pass, including$THREADS_TEST_OPTIONS, the leg that had been failing.Scope note — the containerized
spec_test_on_qemujobspec_test_on_qemu(nuttx) hits the same ENOSPC on its LLVM cache restore, but it cannot be fixed this way: it is acontainer:job (ghcr.io/no1wudi/nuttx/...), so its steps run inside a docker container and cannot free the host disk that the cache restore fills (asudo rmthere fails withsudo: not found, and host paths are not visible from the container). That surface is what #4983 addresses — moving toubuntu-24.04with runner-native LLVM 18 removes the large external LLVM cache entirely, so there is no multi-GB restore to overflow the disk. A larger runner (as noted for the Zephyr container job) is the other option.Driver
Follows from #4983.