-
Notifications
You must be signed in to change notification settings - Fork 2.1k
remove buildkit as dependency from the CLI (integrate github.com/moby/buildkit/util/appcontext) #4457
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
Conversation
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
496554c
Compare
6b97040 to
6fde6ce
Compare
|
Quick blurb, because we discussed this in one of the maintainers calls with @tonistiigi @neersighted (and others, but they may recall the exact details);
|
6fde6ce to
a8c90b3
Compare
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/[email protected] github.com/docker/[email protected]+incompatible
After this:
go mod graph | grep ' github.com/docker/cli'
# (nothing)
Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Sebastiaan van Stijn <[email protected]>
a8c90b3 to
112d79a
Compare
|
@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 |
|
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)