I have 3 jobs on my workflow that run in parallel, and then I have a 4th and final job that depends on those 3, like this:
jobs: pre-job-a: ... pre-job-b: ... pre-job-c: ... final-job: needs: - job-a - job-b - job-c
If one of the
pre-* jobs fail,
final-job won’t run, it only runs if all
pre-* jobs complete. Great, so far so good.
The problem is that one of the
pre-* jobs is much faster than the others, and if that job fails for some reason, the other
pre-* jobs will keep running until they finish, and the workflow itself will not be cancelled until all the
final-job job dependencies are either finished.
Is it possible to solve this problem without making things too complicated with lots of extra steps/jobs or additional workflows?