We have plenty of drone configs that have various steps with when
conditions. When viewing these jobs in drone 2.3.1’s graph view, it incorrectly displays the graph. Take a simple example of a normal series of steps (A-G) with no depends_on tags. Say step D and E have conditions that are not met. The job runs in the order A --- B --- C --- F --- G
but unfortunately, the graph is shown as:
/--- clone --- A --- B --- C ---\
START END
\------------------- F --- G ---/
Looking at the repo api for this job (e.g. https://my-drone-server.com/api/repos/myorg/myrepo/builds/1234) it shows step F
with a depends_on
attribute of E
. While that’s technically correct from the original config point of view, that’s not correct for this particular job. It should have calculated all of the dependencies, but when steps D and E were removed because of conditions, F should have been updated to depend on C. Either that, or skipped steps D and E should be included in the definition but with a flag indicating they were skipped so the graphing bits could figure all this out.