-
Improvement
-
Resolution: Fixed
-
Major
-
Jenkins: 2.32.2 LTS
Blue-ocean: 1.0.0-rc3
-
-
pipeline-graph-analysis 1.10
Scope
- The aborted parallel branches should be marked as aborted.
- The failing branch should be marked as failed
- Ensure that only the failing branch is selected in the UI
Notes
Stepping through the code it looks like the aborted branches are marked as Result.ABORTED but this information is not bubbled up from bismuth. Aborted steps in this scenario are always reported as failed.
Original request
Using a pipeline job like:
pipeline { agent any stages { stage ('parallel with failFast') { steps { parallel( b: { echo 'died' sh "exit 1" }, // make sure this branch takes longer than b a: { sh "sleep 35"}, failFast: true ) } } } }
I would expect the failed step to be focused when entering the build page, instead the aborted branch and log is focused.
Also the aborted branch(es) should be visually different than the actual failed branch.
Technically more than one branch could fail before being aborted any any such branch should also be indicated as failed (like today).
I attached an examples of current and expected behavior of how I wish the build page would look for such a failed build. The aborted job indicator could of course be different, I just want it to stand out from an actual failed job.
Fixing this would significantly improve using massively parallel builds.
Data returned from Blue Ocean REST API
[ { "_class":"io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl", "_links":{ "self":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/6/" }, "actions":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/6/actions/" }, "steps":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/6/steps/" } }, "actions":[ ], "displayName":"parallel with failFast", "durationInMillis":1025, "id":"6", "input":null, "result":"FAILURE", "startTime":"2017-04-04T14:44:32.809+1000", "state":"FINISHED", "causeOfBlockage":null, "edges":[ { "_class":"io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl$EdgeImpl", "id":"10" }, { "_class":"io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl$EdgeImpl", "id":"9" } ] }, { "_class":"io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl", "_links":{ "self":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/10/" }, "actions":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/10/actions/" }, "steps":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/10/steps/" } }, "actions":[ ], "displayName":"a", "durationInMillis":1022, "id":"10", "input":null, "result":"FAILURE", "startTime":"2017-04-04T14:44:32.812+1000", "state":"FINISHED", "causeOfBlockage":null, "edges":[ ] }, { "_class":"io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl", "_links":{ "self":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/9/" }, "actions":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/9/actions/" }, "steps":{ "_class":"io.jenkins.blueocean.rest.hal.Link", "href":"/blue/rest/organizations/jenkins/pipelines/JENKINS-43292/runs/1/nodes/9/steps/" } }, "actions":[ ], "displayName":"b", "durationInMillis":1024, "id":"9", "input":null, "result":"FAILURE", "startTime":"2017-04-04T14:44:32.810+1000", "state":"FINISHED", "causeOfBlockage":null, "edges":[ ] } ]
- is blocked by
-
JENKINS-43995 Individual Pipeline steps and stages/blocks should have Result statuses
- Resolved
- is duplicated by
-
JENKINS-47087 Fail fast parallel stages do not reveal which failed fast
- Resolved
- relates to
-
JENKINS-39203 All stages show up as UNSTABLE when only one stage should
- Resolved
- links to