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.