From 0cd138c8651a88be038f8f5981bd1146e43eff90 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 15 Oct 2025 02:12:34 +0200 Subject: [PATCH 1/2] e2e: add docker v29-rc Signed-off-by: Sebastiaan van Stijn --- .github/workflows/e2e.yml | 1 + e2e/image/push_test.go | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 1ba37f0318bc..37897e343165 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -37,6 +37,7 @@ jobs: - alpine - debian engine-version: + - 29-rc # latest rc - 28 # latest - 27 # latest - 1 - 25 # mirantis lts diff --git a/e2e/image/push_test.go b/e2e/image/push_test.go index 3ee86c535189..f915a5648d8e 100644 --- a/e2e/image/push_test.go +++ b/e2e/image/push_test.go @@ -10,6 +10,7 @@ import ( "github.com/docker/cli/internal/test/environment" "github.com/docker/cli/internal/test/output" "gotest.tools/v3/assert" + is "gotest.tools/v3/assert/cmp" "gotest.tools/v3/fs" "gotest.tools/v3/golden" "gotest.tools/v3/icmd" @@ -84,8 +85,9 @@ func TestPushQuietErrors(t *testing.T) { result := icmd.RunCmd(icmd.Command("docker", "push", "--quiet", "nosuchimage")) result.Assert(t, icmd.Expected{ ExitCode: 1, - Err: "An image does not exist locally with the tag: nosuchimage", }) + assert.Check(t, is.Contains(result.Stderr(), "does not exist")) + assert.Check(t, is.Contains(result.Stderr(), "nosuchimage")) } func TestPushWithContentTrustUnreachableServer(t *testing.T) { From 4ef204ce49fc62e34f9640eef9e4d87d11a25c4e Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Wed, 15 Oct 2025 10:31:32 +0200 Subject: [PATCH 2/2] testing Signed-off-by: Sebastiaan van Stijn --- e2e/compose-env.yaml | 5 ++++- e2e/image/push_test.go | 2 ++ e2e/testdata/Dockerfile.connhelper-ssh | 4 ++++ scripts/test/e2e/wait-on-daemon | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/e2e/compose-env.yaml b/e2e/compose-env.yaml index 703b718cd852..3d726eaadd42 100644 --- a/e2e/compose-env.yaml +++ b/e2e/compose-env.yaml @@ -6,7 +6,10 @@ services: engine: image: 'docker:${ENGINE_VERSION:-28}-dind' privileged: true - command: ['--insecure-registry=registry:5000', '--experimental'] + command: + - '--insecure-registry=registry:5000' + - '--experimental' +# - '--feature=containerd-snapshotter=false' environment: - DOCKER_TLS_CERTDIR= diff --git a/e2e/image/push_test.go b/e2e/image/push_test.go index f915a5648d8e..48c0e241e219 100644 --- a/e2e/image/push_test.go +++ b/e2e/image/push_test.go @@ -50,6 +50,8 @@ func TestPushAllTags(t *testing.T) { 9: output.Equals("v1.0: digest: sha256:e2e16842c9b54d985bf1ef9242a313f36b856181f188de21313820e177002501 size: 528"), 12: output.Equals("v1.0.1: digest: sha256:e2e16842c9b54d985bf1ef9242a313f36b856181f188de21313820e177002501 size: 528"), }) + fmt.Println("--------OUTPUT---------------") + fmt.Println(result.Stdout()) } func TestPushWithContentTrust(t *testing.T) { diff --git a/e2e/testdata/Dockerfile.connhelper-ssh b/e2e/testdata/Dockerfile.connhelper-ssh index 5fd05c3c858f..da617c17a2e4 100644 --- a/e2e/testdata/Dockerfile.connhelper-ssh +++ b/e2e/testdata/Dockerfile.connhelper-ssh @@ -21,3 +21,7 @@ COPY ./connhelper-ssh/entrypoint.sh / EXPOSE 22 ENTRYPOINT ["/entrypoint.sh"] # usage: docker run --privileged -e TEST_CONNHELPER_SSH_ID_RSA_PUB=$(cat ~/.ssh/id_rsa.pub) -p 22 $THIS_IMAGE + +RUN mkdir -p /etc/docker \ + && echo '{"features": {"containerd-snapshotter": false}}' > /etc/docker/daemon.json + diff --git a/scripts/test/e2e/wait-on-daemon b/scripts/test/e2e/wait-on-daemon index d1dd5c39f29d..591c1f063c12 100755 --- a/scripts/test/e2e/wait-on-daemon +++ b/scripts/test/e2e/wait-on-daemon @@ -7,3 +7,4 @@ while ! docker version > /dev/null; do done docker version +docker info