-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix buildkit pauses at the end of builds #20
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's truly astounding that this makes such a big difference.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice find!
Is this safe to merge with these failing checks? Or are those just always failing? |
These checks will always fail, but we do at least need to create a PR to bump the buildkit version in earthly core to get the core tests to run against this code. I can put one together. |
a nitpicky request: can you manually squash your commits before merging this (and once you've done that, you can also do a fast-forward merge via the cli). |
0461e94
to
45f84ad
Compare
45f84ad
to
2b7fc7d
Compare
This tests, and implements earthly/buildkit#20 as a partial performance resolution to #3085. Some of the higher resource utilization at the end exists (per user reports testing this fix), but the pauses appear to be gone.
Looks like the provenance feature does some hard-coded, extensive caching at the end of a build, regardless of if you use the sbom or provenance features.
This option appears to be un-bypassable, and is hard coded. Change it to
min
to avoid the cache delays at the ends of builds.I've attached a profile. Anecdotally, I have seen some targets that went from ~40s runtime to ~10m runtime on
v0.7.4
go back to their expected durations with this fix. No other immediately apparent reprercussions were seen... but admittedly my testing was not extensive.