Skip to content

Commit c180e0f

Browse files
authored
Merge pull request #1822 from pratikjagrut/cyclic.dep.bug
fix: nil cyclic dependency error
2 parents f12a1cd + f6466ee commit c180e0f

File tree

4 files changed

+46
-1
lines changed

4 files changed

+46
-1
lines changed

e2e/tests/dependencies/dependencies.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,4 +242,19 @@ var _ = DevSpaceDescribe("dependencies", func() {
242242
framework.ExpectNoError(err)
243243
framework.ExpectEqual(len(list.Items), 0)
244244
})
245+
246+
ginkgo.It("should resolve cyclic dependencies", func() {
247+
tempDir, err := framework.CopyToTempDir("tests/dependencies/testdata/cyclic")
248+
framework.ExpectNoError(err)
249+
defer framework.CleanupTempDir(initialDir, tempDir)
250+
251+
// load it from the regular path first
252+
_, dependencies, err := framework.LoadConfig(f, filepath.Join(tempDir, "devspace.yaml"))
253+
framework.ExpectNoError(err)
254+
255+
// check if dependencies were loaded correctly
256+
framework.ExpectEqual(len(dependencies), 1)
257+
framework.ExpectEqual(dependencies[0].Name(), "dependency")
258+
259+
})
245260
})
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: v1beta11
2+
dependencies:
3+
- name: root-devspace
4+
source:
5+
path: ../
6+
deployments:
7+
- name: nginx
8+
helm:
9+
componentChart: true
10+
values:
11+
containers:
12+
- image: nginx
13+
dev:
14+
ports:
15+
- imageSelector: nginx
16+
forward:
17+
- port: 8080
18+
remotePort: 80
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
version: v1beta11
2+
dependencies:
3+
- name: dependency
4+
source:
5+
path: dependency
6+
# Use dev.ports config from dependency2
7+
dev:
8+
ports: true
9+
dev:
10+
# Open terminal to the pod with the imageName created in dependency1
11+
terminal:
12+
imageSelector: image(dependency.default)

pkg/devspace/dependency/resolver.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ func (r *resolver) resolveRecursive(basePath, parentID string, currentDependency
181181
}
182182

183183
// add child
184-
if currentDependency != nil {
184+
if currentDependency != nil && currentDependency.children != nil && child != nil {
185185
currentDependency.children = append(currentDependency.children, child)
186186
}
187187
}

0 commit comments

Comments
 (0)