moby / buildkit

concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit
https://github.com/moby/moby/issues/34227
Apache License 2.0
7.85k stars 1.09k forks source link

Merge+Diff follow-ups #2548

Open sipsma opened 2 years ago

sipsma commented 2 years ago

Tracking followups from comments on merge+diff here. Can instead break this into separate issues for each one if preferred.

Short-term followups:

Performance followups:

Longer-term followups:

sipsma commented 2 years ago

@tonistiigi I will prioritize the short-term follow-ups, especially progress+inline cache+docs since I'm assuming they are hard requirements for a v0.10. Let me know what feelings you have on the priority of the others, especially which ones you consider blocking for the next release.

tonistiigi commented 2 years ago

Support returning direct nil from solver op execs.

I think this is not needed unless you see benefits. It's somewhat nice to validate the return array length like you described in that response.

Don't finalize input refs when they are created by llb.Local

Just a thought as well. I think we need to first understand if there are cases where it is beneficial.

I think the blockers on my side are the progress(I think we need different approach than the draft pr), inline cache(draft PR mostly looks good) and Moby vendor.

I'll try to pick up the work on the Dockerfile side. At least for mergeop, not sure if we are ready for diffop yet. Having some optimizations for copy as like discussed would be nice as well(storing diff metadata on fileop and using direct hardlinks from overlay lowers for copy when possible).