diff --git a/internal/pipe/docker/docker_test.go b/internal/pipe/docker/docker_test.go index 3a62994b359..80cc86df2d1 100644 --- a/internal/pipe/docker/docker_test.go +++ b/internal/pipe/docker/docker_test.go @@ -1445,15 +1445,19 @@ func TestWithDigest(t *testing.T) { Type: artifact.DockerImage, }) - t.Run("good", func(t *testing.T) { - require.Equal(t, "owner/img:t1@sha256:d1", withDigest("owner/img:t1", artifacts.List())) - }) + for _, use := range []string{useDocker, useBuildx} { + t.Run(use, func(t *testing.T) { + t.Run("good", func(t *testing.T) { + require.Equal(t, "localhost:5050/owner/img:t1@sha256:d1", withDigest(use, "localhost:5050/owner/img:t1", artifacts.List())) + }) - t.Run("no digest", func(t *testing.T) { - require.Equal(t, "owner/img:t3", withDigest("owner/img:t3", artifacts.List())) - }) + t.Run("no digest", func(t *testing.T) { + require.Equal(t, "localhost:5050/owner/img:t3", withDigest(use, "localhost:5050/owner/img:t3", artifacts.List())) + }) - t.Run("no match", func(t *testing.T) { - require.Equal(t, "owner/img:t4", withDigest("owner/img:t4", artifacts.List())) - }) + t.Run("no match", func(t *testing.T) { + require.Equal(t, "localhost:5050/owner/img:t4", withDigest(use, "localhost:5050/owner/img:t4", artifacts.List())) + }) + }) + } } diff --git a/internal/pipe/docker/manifest.go b/internal/pipe/docker/manifest.go index a74dce13c12..5c99dcc7619 100644 --- a/internal/pipe/docker/manifest.go +++ b/internal/pipe/docker/manifest.go @@ -123,7 +123,7 @@ func manifestImages(ctx *context.Context, manifest config.DockerManifest) ([]str if err != nil { return []string{}, err } - imgs = append(imgs, withDigest(str, artifacts)) + imgs = append(imgs, withDigest(manifest.Use, str, artifacts)) } if strings.TrimSpace(strings.Join(manifest.ImageTemplates, "")) == "" { return imgs, pipe.Skip("manifest has no images") @@ -131,7 +131,7 @@ func manifestImages(ctx *context.Context, manifest config.DockerManifest) ([]str return imgs, nil } -func withDigest(name string, images []*artifact.Artifact) string { +func withDigest(use, name string, images []*artifact.Artifact) string { for _, art := range images { if art.Name == name { if digest := artifact.ExtraOr(*art, artifact.ExtraDigest, ""); digest != "" { @@ -140,6 +140,6 @@ func withDigest(name string, images []*artifact.Artifact) string { break } } - log.Warnf("did not find the digest for %s, defaulting to insecure mode") + log.Warnf("did not find the digest for %s using %s, defaulting to insecure mode", name, use) return name }