[Automation] - Stop the runner image build writing cache it never reads - #18681
Merged
Conversation
izaac
requested review from
IsaSih,
MSpencer87,
ShylajaDevadiga,
a-arias and
yonasberhe23
August 6, 2026 03:50
Contributor
|
🔄 Auto-Retry Failed Run The Tests workflow failed for the commits below and has been automatically retried.
|
yonasberhe23
approved these changes
Aug 6, 2026
Pre-Clean already removes the runner image tag every build, so --no-cache only bought a cold build while making BuildKit write one cache record per layer that the build never reads back. Measured on the agent: nine layer instructions, nine records and 870MB added per build with the flag, none without it. The image also builds in 9 seconds rather than 75. Cached layers stay correct because Docker invalidates on content, and this matches how run.sh builds it locally. Also adds cypress/jenkins/disk-report.sh to catch a regression here. It only reads: df, docker info and docker system df, plus a counter under /tmp that it removes itself. It never prunes, removes or stops anything, which matters on a daemon shared with other jobs.
izaac
force-pushed
the
executor-disk-report
branch
from
August 6, 2026 21:32
efa1ef3 to
91b8b4d
Compare
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
CI only change, no product code affected.
Occurred changes and/or fixed issues
init.shbuilt the runner image with--no-cache, but Pre-Clean already removes that tag at the start of every build, so the image was rebuilt regardless. The flag only bought a cold build while making BuildKit write one cache record per layer that the build never reads back.Also adds
cypress/jenkins/disk-report.shto catch a regression here, since nothing else reports what a build costs a disk shared by sixteen executors and several other jobs.Technical notes summary
Dockerfile.quickstarthas nine layer instructions, and a build with the flag added exactly nine cache records and around 870MB. Without it, none.run.shbuilds the same image locally.df,docker info,docker system df, plus a counter under/tmpit removes itself. It never prunes, removes or stops anything, which matters on a daemon shared with other jobs.fileExists.Testing done
Two runs on the staging Jenkins job, both
SUCCESSwith 20/20 tests:Cache totals came back byte identical, with every record accounted for by ageing rather than creation. The runner image also builds in 9 seconds rather than 75.
Checklist
Admin,Standard UserandUser Base