Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-39335

If a failure happens outside of parallel branch it isn't shown in a stage

      Solution

      • Fold in steps to their nearest stage so that they appear in the step list
      • When JENKINS-39658 is fixed the error log will be appended to the step

      Original request
      Blue ocean shows parallel branches as separate "nodes" (circles) on the stage graph.

      This means that if a build failure happens outside of a parallel branch, you end up with all green circles but a failed build.

      See the attached

      This is for the simple pipeline:

      node {
          
          stage('first') {
              sh "echo 42"
          }
          
          stage('par') {
              parallel(
                  "left" : {
                      sh "echo 42"   
                   }, 
                   "right" : {
                      sh "echo 43"
                   }
                  
                  
              )
              
              error "it's all bad"
              
          }
          
      }
      

      What this should do:

      if there are steps outside of parallel branches, show them as a node (circle) directly under the stage name (and if any steps fail, that node shows as failed).

          [JENKINS-39335] If a failure happens outside of parallel branch it isn't shown in a stage

          Patrick Wolf added a comment -

          jamesdumay I think michaelneale's example is somewhat contrived. I think the bigger problem is capturing that the stage failed not whether someone uses currentBuild versus error. Most times a failing stage will happen due to some other reason.

          Patrick Wolf added a comment - jamesdumay I think michaelneale 's example is somewhat contrived. I think the bigger problem is capturing that the stage failed not whether someone uses currentBuild versus error . Most times a failing stage will happen due to some other reason.

          Michael Neale added a comment -

          agree with patrick, this could be broadened to capturing all errors that happen outside of what is shown in a steps log.

          Michael Neale added a comment - agree with patrick, this could be broadened to capturing all errors that happen outside of what is shown in a steps log.

          James Dumay added a comment -

          Duplicates JENKINS-35836

          James Dumay added a comment - Duplicates JENKINS-35836

          Patrick Wolf added a comment -

          jamesdumay michaelneale Before making this a duplicate you might want to consider the order that things happen. If a step outside of a stage throws an unhandled exception then it is possible that all stages would still be green but the build failed. Would the last stage be the one to show the failure?

          Patrick Wolf added a comment - jamesdumay michaelneale Before making this a duplicate you might want to consider the order that things happen. If a step outside of a stage throws an unhandled exception then it is possible that all stages would still be green but the build failed. Would the last stage be the one to show the failure?

          James Dumay added a comment -

          hrmpw depends where the exception is thrown. For example, if its before the first stage we would attribute the failure to the first stage.

          James Dumay added a comment - hrmpw depends where the exception is thrown. For example, if its before the first stage we would attribute the failure to the first stage.

          Patrick Wolf added a comment -

          Do we have some negative tests that can fail a build more disastrously than an error step? At least until we have JENKINS-35308 implemetend

          Patrick Wolf added a comment - Do we have some negative tests that can fail a build more disastrously than an error step? At least until we have JENKINS-35308 implemetend

          Michael Neale added a comment -

          hrmpw yeah JENKINS-35308 seems a bit of a long shot right now.

          Michael Neale added a comment - hrmpw yeah JENKINS-35308 seems a bit of a long shot right now.

          Patrick Wolf added a comment -

          Why do you say it's a long shot, michaelneale? It's something we flagged to do for improving Pipeline and I think this one is pretty important, even with PMD. If any step fails on the backend we need to make sure the error reporting is good.

          Patrick Wolf added a comment - Why do you say it's a long shot, michaelneale ? It's something we flagged to do for improving Pipeline and I think this one is pretty important, even with PMD. If any step fails on the backend we need to make sure the error reporting is good.

          James Dumay added a comment - - edited

          hrmpw if the archive step fails because there are no inputs that fails terribly too (with a stack trace). There are many steps that exhibit similar behaviour. If we can have beautiful error reports like JENKINS-35308 for all the steps I would sleep better at night

          James Dumay added a comment - - edited hrmpw if the archive step fails because there are no inputs that fails terribly too (with a stack trace). There are many steps that exhibit similar behaviour. If we can have beautiful error reports like JENKINS-35308 for all the steps I would sleep better at night

          Michael Neale added a comment -

          hrmpw from conversations with KK, it wasn't relised at first how hard it would be to implement. As the saying goes "we do these things not because they are easy, but because we thought they would be easy"

          Michael Neale added a comment - hrmpw from conversations with KK, it wasn't relised at first how hard it would be to implement. As the saying goes "we do these things not because they are easy, but because we thought they would be easy"

            Unassigned Unassigned
            michaelneale Michael Neale
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: