Skip to content

Commit 7bacb0c

Browse files
committed
jenkins: improve debug output if jobs are cyclic
Print the cycle that was found.
1 parent f3dc501 commit 7bacb0c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

pym/bob/cmds/jenkins.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1328,13 +1328,13 @@ def genJenkinsJobs(recipes, jenkins):
13281328
return jobs
13291329

13301330
def genJenkinsBuildOrder(jobs):
1331-
def visit(j, pending, processing, order):
1331+
def visit(j, pending, processing, order, stack):
13321332
if j in processing:
1333-
raise ParseError("Jobs are cyclic")
1333+
raise ParseError("Jobs are cyclic: " + " -> ".join(stack))
13341334
if j in pending:
13351335
processing.add(j)
13361336
for d in jobs[j].getDependentJobs():
1337-
visit(d, pending, processing, order)
1337+
visit(d, pending, processing, order, stack + [d])
13381338
pending.remove(j)
13391339
processing.remove(j)
13401340
order.append(j)
@@ -1345,7 +1345,7 @@ def visit(j, pending, processing, order):
13451345
while pending:
13461346
j = pending.pop()
13471347
pending.add(j)
1348-
visit(j, pending, processing, order)
1348+
visit(j, pending, processing, order, [j])
13491349

13501350
return order
13511351

0 commit comments

Comments
 (0)