Uh oh!
There was an error while loading. Please reload this page.
remove buildkit as dependency from the CLI (integrate github.com/moby/buildkit/util/appcontext) - #4457
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Codecov Report
Additional details and impacted files@@ Coverage Diff @@## master #4457 +/- ##
=======================================
Coverage 59.70% 59.70% =======================================
Files 288 288 Lines 24816 24816 =======================================
Hits 14817 14817 Misses 9113 9113 Partials 886 886 |
942338b to
496554cComparethaJeztah
commented
Sep 7, 2023
Quick blurb, because we discussed this in one of the maintainers calls with @tonistiigi@neersighted (and others, but they may recall the exact details);
|
This copies the github.com/moby/buildkit/util/appcontext package as an internal package. The appcontext package from BuildKit was the only remaining dependency on BuildKit, and while we may need some of its functionality, the implementation is not correct for how it's used in docker/cli (so would need a rewrite). Moving a copy of the code into the docker/cli (but as internal package to prevent others from depending on it) is a first step in that process, and removes the circular dependency between BuildKit and the CLi. We are only using these: tree vendor/github.com/moby/buildkit vendor/github.com/moby/buildkit ├── AUTHORS ├── LICENSE └── util └── appcontext ├── appcontext.go ├── appcontext_unix.go ├── appcontext_windows.go └── register.go 3 directories, 6 files Before this: go mod graph | grep ' github.com/docker/cli' github.com/moby/buildkit@v0.11.6 github.com/docker/cli@v23.0.0-rc.1+incompatible After this: go mod graph | grep ' github.com/docker/cli' # (nothing) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
thaJeztah
commented
Sep 27, 2023
@tonistiigi@neersighted PTAL; this keeps the status-quo on the functionality and does not fix the issues that were discussed about appcontext, but does remove the BuildKit dependency, which I think may be worth considering. I updated the PR to move the appcontext package to |
thaJeztah
commented
Sep 27, 2023
Let me bring this one in; we can use #4402 as tracking issue for the remaining work |
This copies the github.com/moby/buildkit/util/appcontext
package as an internal package. The appcontext package from
BuildKit was the only remaining dependency on BuildKit, and
while we may need some of its functionality, the implementation
is not correct for how it's used in docker/cli (so would need
a rewrite).
Moving a copy of the code into the docker/cli (but as internal
package to prevent others from depending on it) is a first step
in that process, and removes the circular dependency between
BuildKit and the CLi.
We are only using these:
Before this:
After this:
But indirect dependencies and circular dependency on moby/moby -> buildkit -> moby/moby and docker/cli can cause "hell".
- A picture of a cute animal (not mandatory but encouraged)