Dockerfile: Use separate cli for shell and integration-cli#45358
Dockerfile: Use separate cli for shell and integration-cli#45358neersighted merged 2 commits intomoby:masterfrom
Conversation
a44078d to
eb364b7
Compare
|
Thanks! I like this (think we discussed this approach at some point). Haven't had the time yet to check the implementation, but "+1" in principle |
|
Big conceptual 👍, but I'll need some time to look at the actual implementation. |
b2946b5 to
527028a
Compare
527028a to
43cf20b
Compare
thaJeztah
left a comment
There was a problem hiding this comment.
ah, crap. Didn't submit my comments 🙈😂 here they go
43cf20b to
d5d8a4c
Compare
neersighted
left a comment
There was a problem hiding this comment.
It came to my attention that we won't have the ability to build with BuildKit if we take this PR as-is -- can we consider adding buildx to the dev container as well?
|
I had a separate PR for adding buildx: #44957 Was thinking about just rebasing it once this one is merged, but I'm fine either way. |
|
I forgot about that one! I'm fine with rebasing that based on this PR, though I think I'd prefer if we did it now, just so it's possible to test the desired end state. |
d5d8a4c to
cbae543
Compare
thaJeztah
left a comment
There was a problem hiding this comment.
Left some thoughts / comments ("code suggestions" are just a quick "these probably need to be changed", but may be incomplete)
e9993e4 to
cd5a115
Compare
12b8d09 to
c75f3d2
Compare
Use separate cli for integration-cli to allow use newer CLI for interactive dev shell usage. Both versions can be overriden with DOCKERCLI_VERSION or DOCKERCLI_INTEGRATION_VERSION. Binary is downloaded from download.docker.com if it's available, otherwise it's built from the source. For backwards compatibility DOCKER_CLI_PATH overrides BOTH clis. Signed-off-by: Paweł Gronowski <[email protected]>
Installs the buildx cli plugin in the container shell by default. Previously user had to manually download the buildx binary to use buildkit. Signed-off-by: Paweł Gronowski <[email protected]>
c75f3d2 to
49f76a3
Compare
|
Failures are unrelated; do we want to consider taking this for backport to (at least) 24.0; or should we just keep it in master because this is fairly invasive? |
|
I thought we won't be backporting it as it only enhances the development workflow (which mostly happens on master anyway). Btw, wanted to push some small enhancements, but you merged this one faster 😅 I'll open a separate PR, and then can open a chery-pick. |
|
Opened #45697 |
Use separate cli for integration-cli to allow use newer CLI for interactive dev shell usage.
Both versions can be overriden with DOCKERCLI_VERSION or DOCKERCLI_INTEGRATION_VERSION. Binary is downloaded from download.docker.com if it's available, otherwise it's built from the source.
For backwards compatibility DOCKER_CLI_PATH overrides BOTH clis.
- What I did
- How I did it
- How to verify it
$ make DOCKERCLI_VERSION=v24.0.0-beta.2 \ shell ... root@c380d24cb22b:/go/src/github.com/docker/docker# docker version Client: Version: 24.0.0-beta.2 API version: 1.43 Go version: go1.20.3 Git commit: 67c4570f Built: Wed Apr 19 13:18:12 2023 OS/Arch: linux/arm64 Context: default$ make DOCKERCLI_INTEGRATION_VERSION=v18.06.3-ce \ DOCKER_GRAPHDRIVER=vfs TEST_FILTER=TestRunEchoStdout \ test-integration ... INFO: Testing against a local daemon INFO: Testing with docker cli version: Client: Version: 18.06.3-ce API version: 1.38 Go version: go1.10.4 Git commit: d7080c1 Built: Wed Feb 20 02:24:33 2019 OS/Arch: linux/arm64 Experimental: false$ make DOCKERCLI_REPOSITORY="https://github.com/vvoland/cli" \ DOCKERCLI_VERSION=ff7f76af7a092ca9aeb689850d4ad0a85746bc72 \ shell ... root@85181e8c0ea9:/go/src/github.com/docker/docker# docker version Client: Version: ff7f76af API version: 1.43 Go version: go1.20.3 Git commit: ff7f76af Built: Wed Apr 19 13:21:20 2023 OS/Arch: linux/arm64 Context: default- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)