mirror of https://github.com/docker/compose.git
fix build with bake
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
This commit is contained in:
parent
a8469db83f
commit
85cdaf9ddf
|
@ -137,7 +137,7 @@ func (s *composeService) doBuildBake(ctx context.Context, project *types.Project
|
||||||
}
|
}
|
||||||
var group bakeGroup
|
var group bakeGroup
|
||||||
|
|
||||||
for name, service := range serviceToBeBuild {
|
for _, service := range serviceToBeBuild {
|
||||||
if service.Build == nil {
|
if service.Build == nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -151,12 +151,14 @@ func (s *composeService) doBuildBake(ctx context.Context, project *types.Project
|
||||||
args[k] = *v
|
args[k] = *v
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg.Targets[name] = bakeTarget{
|
image := api.GetImageNameOrDefault(service, project.Name)
|
||||||
|
|
||||||
|
cfg.Targets[image] = bakeTarget{
|
||||||
Context: build.Context,
|
Context: build.Context,
|
||||||
Dockerfile: dockerFilePath(build.Context, build.Dockerfile),
|
Dockerfile: dockerFilePath(build.Context, build.Dockerfile),
|
||||||
Args: args,
|
Args: args,
|
||||||
Labels: build.Labels,
|
Labels: build.Labels,
|
||||||
Tags: build.Tags,
|
Tags: append(build.Tags, image),
|
||||||
|
|
||||||
CacheFrom: build.CacheFrom,
|
CacheFrom: build.CacheFrom,
|
||||||
// CacheTo: TODO
|
// CacheTo: TODO
|
||||||
|
@ -167,7 +169,7 @@ func (s *composeService) doBuildBake(ctx context.Context, project *types.Project
|
||||||
Pull: options.Pull,
|
Pull: options.Pull,
|
||||||
NoCache: options.NoCache,
|
NoCache: options.NoCache,
|
||||||
}
|
}
|
||||||
group.Targets = append(group.Targets, name)
|
group.Targets = append(group.Targets, image)
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg.Groups["default"] = group
|
cfg.Groups["default"] = group
|
||||||
|
|
|
@ -33,7 +33,7 @@ import (
|
||||||
|
|
||||||
func TestLocalComposeBuild(t *testing.T) {
|
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, ",")...))
|
c := NewCLI(t, WithEnv(strings.Split(env, ",")...))
|
||||||
|
|
||||||
t.Run(env+" build named and unnamed images", func(t *testing.T) {
|
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) {
|
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 static /usr/share/nginx/html"})
|
||||||
res.Assert(t, icmd.Expected{Out: "COPY static2 /usr/share/nginx/html"})
|
res.Assert(t, icmd.Expected{Out: "COPY static2 /usr/share/nginx/html"})
|
||||||
|
|
Loading…
Reference in New Issue