Skip to content

Commit 5beaf96

Browse files
de-duplicate -f <pc.yaml> flags to avoid the issue in #2700 (#2701)
## Summary Using the `--process-compose-file` flag to merge configurations fails with `FTL error="project /Users/jack/code/my-porject/process-compose.yaml is already specified in files to load"` See #2700 for details ## How was it tested? Using the method described here #2699 to build and "install" a local devbox then: 1. Create a process-compose.yaml file 2. Create a second process-compose.extras.yaml file that overrides some of the config defined in the main one (i.e set `is_disabled: "false"`) 3. run `devbox services up --process-compose-file process-compose.extras.yaml` and see error message above instead of running services The above fails with devbox 0.16.0 but works fine with this PR. ## Notes I'm happy with this fix but not certain this is the best place to implement this fix, it feels like a bit of a bandaid rather than fixing it at the source. But reading the code I couldn't find the root cause. ## Community Contribution License All community contributions in this pull request are licensed to the project maintainers under the terms of the [Apache 2 License](https://www.apache.org/licenses/LICENSE-2.0). By creating this pull request, I represent that I have the right to license the contributions to the project maintainers under the Apache 2 License as stated in the [Community Contribution License](https://github.com/jetify-com/opensource/blob/main/CONTRIBUTING.md#community-contribution-license). Closes #2700
1 parent 1ecfd4a commit 5beaf96

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

internal/services/manager.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,13 @@ func StartProcessManager(
150150
fmt.Fprintf(w, "Starting all services: %s \n", strings.Join(services, ", "))
151151
}
152152

153+
seenPCFiles := make(map[string]bool)
153154
for _, s := range availableServices {
154-
flags = append(flags, "-f", s.ProcessComposePath)
155+
if !seenPCFiles[s.ProcessComposePath] {
156+
// Only add -f flag if we haven't seen this file path before
157+
flags = append(flags, "-f", s.ProcessComposePath)
158+
seenPCFiles[s.ProcessComposePath] = true
159+
}
155160
}
156161

157162
flags = append(flags, processComposeConfig.ExtraFlags...)

0 commit comments

Comments
 (0)