From f4fc010d6b9bbd40e0ab6e3706a49ee459a2d181 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Mon, 2 Jun 2025 11:45:48 +0200 Subject: [PATCH] build dependent service images when required Signed-off-by: Nicolas De Loof --- cmd/compose/up.go | 1 + pkg/e2e/build_test.go | 12 ++++++++++++ .../build-dependencies/compose-depends_on.yaml | 15 +++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 pkg/e2e/fixtures/build-dependencies/compose-depends_on.yaml diff --git a/cmd/compose/up.go b/cmd/compose/up.go index 8e7f74830..02d5e4a15 100644 --- a/cmd/compose/up.go +++ b/cmd/compose/up.go @@ -261,6 +261,7 @@ func runUp( return err } bo.Services = services + bo.Deps = !upOptions.noDeps build = &bo } diff --git a/pkg/e2e/build_test.go b/pkg/e2e/build_test.go index dec1d37e6..806b1c958 100644 --- a/pkg/e2e/build_test.go +++ b/pkg/e2e/build_test.go @@ -524,3 +524,15 @@ func TestBuildEntitlements(t *testing.T) { } }) } + +func TestBuildDependsOn(t *testing.T) { + c := NewParallelCLI(t) + + t.Cleanup(func() { + c.RunDockerComposeCmd(t, "-f", "fixtures/build-dependencies/compose-depends_on.yaml", "down", "--rmi=local") + }) + + res := c.RunDockerComposeCmd(t, "-f", "fixtures/build-dependencies/compose-depends_on.yaml", "--progress=plain", "up", "test2") + out := res.Combined() + assert.Check(t, strings.Contains(out, "test1 Built")) +} diff --git a/pkg/e2e/fixtures/build-dependencies/compose-depends_on.yaml b/pkg/e2e/fixtures/build-dependencies/compose-depends_on.yaml new file mode 100644 index 000000000..90b2beaef --- /dev/null +++ b/pkg/e2e/fixtures/build-dependencies/compose-depends_on.yaml @@ -0,0 +1,15 @@ +services: + test1: + pull_policy: build + build: + dockerfile_inline: FROM alpine + command: + - echo + - "test 1 success" + test2: + image: alpine + depends_on: + - test1 + command: + - echo + - "test 2 success" \ No newline at end of file