once E is built, we can start (in parallel) both C and D
once both C and D are done, we can start B
once B is done, we can finally start A
We need some way to keep track of this and react on "events" such as "job X completed"
We don't really care about abrupt termination of jobs (eg. worker process is killed), as we won't continue anyways -- :warning: but still, we should mark a build as failed if a dependency build failed!
(allow starting builds "as a dependency of ..."? how to store updated build ids as soon as new builds become available?)
Example jobs:
A -> B B -> C B -> D C -> E D -> E
We need some way to keep track of this and react on "events" such as "job X completed"
We don't really care about abrupt termination of jobs (eg. worker process is killed), as we won't continue anyways -- :warning: but still, we should mark a build as failed if a dependency build failed! (allow starting builds "as a dependency of ..."? how to store updated build ids as soon as new builds become available?)