Skip to content

Commit cacff89

Browse files
committed
fix: bring up services with deps with --no-deps
Don't fail on not finding dependent services because they were put in the disabled slice. Fixes docker#9427. Signed-off-by: Nick Sieger <[email protected]>
1 parent 5b6b674 commit cacff89

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

pkg/compose/create.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,11 @@ func prepareServicesDependsOn(p *types.Project) error {
183183
if service.DependsOn == nil {
184184
service.DependsOn = make(types.DependsOnConfig)
185185
}
186-
deps, err := p.GetServices(dependencies...)
186+
187+
// Verify dependencies exist in the project, whether disabled or not
188+
projAllServices := types.Project{}
189+
projAllServices.Services = p.AllServices()
190+
deps, err := projAllServices.GetServices(dependencies...)
187191
if err != nil {
188192
return err
189193
}

pkg/e2e/start_stop_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,12 @@ func TestStartStopWithDependencies(t *testing.T) {
131131
assert.Assert(t, strings.Contains(res.Combined(), "e2e-start-stop-with-dependencies-foo-1"), res.Combined())
132132
})
133133

134+
t.Run("Up no-deps", func(t *testing.T) {
135+
_ = c.RunDockerComposeCmd("--project-name", projectName, "down")
136+
res := c.RunDockerComposeCmd("-f", "./fixtures/dependencies/compose.yaml", "--project-name", projectName, "up", "--no-deps", "-d", "foo")
137+
assert.Assert(t, strings.Contains(res.Combined(), "Container e2e-start-stop-with-dependencies-foo-1 Started"), res.Combined())
138+
})
139+
134140
t.Run("down", func(t *testing.T) {
135141
_ = c.RunDockerComposeCmd("--project-name", projectName, "down")
136142
})

0 commit comments

Comments
 (0)