Browse Source

fix build with bake

Signed-off-by: Nicolas De Loof <[email protected]>
Nicolas De Loof 1 year ago
parent
commit
85cdaf9ddf
2 changed files with 8 additions and 6 deletions
  1. 6 4
      pkg/compose/build_bake.go
  2. 2 2
      pkg/e2e/build_test.go

+ 6 - 4
pkg/compose/build_bake.go

@@ -137,7 +137,7 @@ func (s *composeService) doBuildBake(ctx context.Context, project *types.Project
 	}
 	var group bakeGroup
 
-	for name, service := range serviceToBeBuild {
+	for _, service := range serviceToBeBuild {
 		if service.Build == nil {
 			continue
 		}
@@ -151,12 +151,14 @@ func (s *composeService) doBuildBake(ctx context.Context, project *types.Project
 			args[k] = *v
 		}
 
-		cfg.Targets[name] = bakeTarget{
+		image := api.GetImageNameOrDefault(service, project.Name)
+
+		cfg.Targets[image] = bakeTarget{
 			Context:    build.Context,
 			Dockerfile: dockerFilePath(build.Context, build.Dockerfile),
 			Args:       args,
 			Labels:     build.Labels,
-			Tags:       build.Tags,
+			Tags:       append(build.Tags, image),
 
 			CacheFrom: build.CacheFrom,
 			// CacheTo:    TODO
@@ -167,7 +169,7 @@ func (s *composeService) doBuildBake(ctx context.Context, project *types.Project
 			Pull:      options.Pull,
 			NoCache:   options.NoCache,
 		}
-		group.Targets = append(group.Targets, name)
+		group.Targets = append(group.Targets, image)
 	}
 
 	cfg.Groups["default"] = group

+ 2 - 2
pkg/e2e/build_test.go

@@ -33,7 +33,7 @@ import (
 
 func TestLocalComposeBuild(t *testing.T) {
 
-	for _, env := range []string{"DOCKER_BUILDKIT=0", "DOCKER_BUILDKIT=1", "DOCKER_BUILDKIT=1,COMPOSE-BAKE=1"} {
+	for _, env := range []string{"DOCKER_BUILDKIT=0", "DOCKER_BUILDKIT=1", "DOCKER_BUILDKIT=1,COMPOSE_BAKE=1"} {
 		c := NewCLI(t, WithEnv(strings.Split(env, ",")...))
 
 		t.Run(env+" build named and unnamed images", func(t *testing.T) {
@@ -118,7 +118,7 @@ func TestLocalComposeBuild(t *testing.T) {
 		})
 
 		t.Run(env+" rebuild when up --build", func(t *testing.T) {
-			res := c.RunDockerComposeCmd(t, "--workdir", "fixtures/build-test", "up", "-d", "--build")
+			res := c.RunDockerComposeCmd(t, "--project-directory", "fixtures/build-test", "up", "-d", "--build")
 
 			res.Assert(t, icmd.Expected{Out: "COPY static /usr/share/nginx/html"})
 			res.Assert(t, icmd.Expected{Out: "COPY static2 /usr/share/nginx/html"})