From 2ba5e4c1d02747e6d74743caefadcbe5744dc24d Mon Sep 17 00:00:00 2001 From: Guillaume Lours <705411+glours@users.noreply.github.com> Date: Tue, 21 Nov 2023 15:26:04 +0100 Subject: [PATCH] in watch mode force pull policy to build for services with both build and develop attributes This default behaviour will force a rebuild of the service images at watch process startup and be sure containers will be in sync with the local source code Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com> --- cmd/compose/watch.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmd/compose/watch.go b/cmd/compose/watch.go index fa3d19369..7311d9bca 100644 --- a/cmd/compose/watch.go +++ b/cmd/compose/watch.go @@ -20,6 +20,8 @@ import ( "context" "fmt" + "github.com/compose-spec/compose-go/types" + "github.com/docker/cli/cli/command" "github.com/docker/compose/v2/internal/locker" "github.com/docker/compose/v2/pkg/api" @@ -85,6 +87,12 @@ func runWatch(ctx context.Context, dockerCli command.Cli, backend api.Service, w } if !watchOpts.noUp { + for index, service := range project.Services { + if service.Build != nil && service.Develop != nil { + service.PullPolicy = types.PullPolicyBuild + } + project.Services[index] = service + } upOpts := api.UpOptions{ Create: api.CreateOptions{ Build: &build,