From 9d56b30c422684bdb2add13d8bf895313442c66b Mon Sep 17 00:00:00 2001 From: CrazyMax <1951866+crazy-max@users.noreply.github.com> Date: Thu, 31 Jul 2025 10:02:44 +0200 Subject: [PATCH] bake: fix dockerfile default if empty Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com> --- bake/bake.go | 2 +- bake/bake_test.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/bake/bake.go b/bake/bake.go index b0549b135..c2bb00254 100644 --- a/bake/bake.go +++ b/bake/bake.go @@ -676,7 +676,7 @@ func (c Config) ResolveTarget(name string, overrides map[string]map[string]Overr s := "." t.Context = &s } - if t.Dockerfile == nil { + if t.Dockerfile == nil || (t.Dockerfile != nil && *t.Dockerfile == "") { s := "Dockerfile" t.Dockerfile = &s } diff --git a/bake/bake_test.go b/bake/bake_test.go index bf7d3050b..526ca958f 100644 --- a/bake/bake_test.go +++ b/bake/bake_test.go @@ -2248,6 +2248,23 @@ target "app" { require.Len(t, m["app"].Outputs, 0) } +func TestEmptyDockerfile(t *testing.T) { + fp := File{ + Name: "docker-bake.hcl", + Data: []byte(` +target "app" { + dockerfile = "" +} +`), + } + + ctx := context.TODO() + m, _, err := ReadTargets(ctx, []File{fp}, []string{"app"}, nil, nil, &EntitlementConf{}) + require.NoError(t, err) + require.Contains(t, m, "app") + require.Equal(t, "Dockerfile", *m["app"].Dockerfile) +} + // https://github.com/docker/buildx/issues/2859 func TestGroupTargetsWithDefault(t *testing.T) { t.Run("OnTarget", func(t *testing.T) {