We should have some way to specify that a given task should be cancelled/aborted if any of a given set of other tasks are resolved as failure/exception.
I haven't thought this totally through, but the use case is, you make a push for a CI job, and as soon as there is a failure, you want to abandon the task graph execution, because in any case you will be making a fix for the issue that was found, and will be pushing a new commit, which will trigger all tasks anyway.
This has the potential to reduce resource computation massively, maybe even by orders of magnitude.
What I'm not sure about is:
- how/where to specify this (since we don't submit a task group, we don't have task group settings, only task settings)
- what to do about intermittent tasks (maybe we need to exhaust retries before cancelling all tasks in task group)
But let's start discussing this!