Add keyword 'needs' to execute jobs out-of-order
Summary
Add keyword 'needs' to execute jobs out-of-order. If job2
in stage2 needs job1
from stage1, it can be executed directly when job1
is finished, even if the whole stage is not yet. This should reduce the overall build time.