-
Improvement
-
Resolution: Unresolved
-
Major
-
None
Assume you have a job A that launch a child Job B and that job A has to wait Job B finished to continue its steps.
If you stopped job A while job B is processing, the job B isn't stopped.
It should be stopped.
Precondition:
I have a parent job "Parent" that triggers child jobs "Child(1-N)", and then blocks waiting for them to finish.
Action:
1. Start Parent job.
2. Wait for children to launch.
3. Abort Parent job.
Current result:
Parent job aborts but children continue to run. If the child jobs have no meaning outside of the parent, then child jobs have to be manually aborted.
I can see why you would want this behavior. It is certainly the correct behavior in the "post-build step" case. It is probably correct in the "non-blocking build step" case. In the case of the parent build blocking on children completing, there are definitely scenarios where it is not.
Desired Enhancement:
When "Block on child job completion" checkbox is checked, a list of options is shown. Add option to the list: "Child job action when parent job is aborted". Values: "None, continue running (default)", "Abort immediately".
- is duplicated by
-
JENKINS-27740 Add "Abort downstream jobs" to "Block until finished" build step options
-
- Closed
-
+1 Nickolay, Sebastian
totally vote for this one.
I can't think of a use case where it makes sense to continue running a downstream job after the upstream job is cancelled.
Several – if not most – jobs that I see in Jenkins trigger one or more downstream jobs since they are part of a whole. Not cancelling the downstream job is a severe defect, or counter-intuitive and confusing at best.
In my opinion, if there is such use case pointed out by Sebastian above, there should be an option that allows downstream jobs to keep running after the upstream is cancelled, and this option should be disabled by default.