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) {