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

Parallel steps inside stage hide previous and next steps

      See attached test-pipeline-simple.groovy, stage called various. Blue ocean shows the different echo steps one after another, see jenkins_test-pipeline_5_-_2017-10-17_14.04.10.png.

      Then I added a parralel step ("mars" and "jupiter") between "Bar" and "Have a beer at foo bar". See test-pipeline-parallel.groovy, jenkins_test-pipeline_6* screenshots:

      under various now you see jupiter and mars, but the echo "foo" and "bar" and "Have a beer at foo bar" cannot be seen anymore, they disappeared, unless you go back to the classic view's console output, as shown intest-pipeline_6_Console_[Jenkins]_-_2017-10-17_14.08.17.png.

      I think that in such a stage, the stage name (in this case "various") should be clickable or it should have its own clickable circle before or after the parallel ones, maybe in a different color to make it clear that it's not parallel. Or maybe the parallel steps should have a different color than all the other circles.

      This affects also the multi branch pipeline projects, but for the sake of simplicity I created a simple pipeline to demonstrate/reproduce the issue.

       

          [JENKINS-47473] Parallel steps inside stage hide previous and next steps

          Paolo Brocco created issue -
          Paolo Brocco made changes -
          Epic Link New: JENKINS-43953 [ 181485 ]
          Paolo Brocco made changes -
          Link New: This issue is related to JENKINS-44820 [ JENKINS-44820 ]
          Paolo Brocco made changes -
          Description Original: See attached *test-pipeline-simple.groovy*, stage called *various*. Blue ocean shows the different echo steps one after another, see jenkins_test-pipeline_5_-_2017-10-17_14.04.10.png.

          Then I added a *parralel step ("mars" and "jupiter")* between "Bar" and "Have a beer at foo bar". See *test-pipeline-parallel.groovy,* jenkins_test-pipeline_6* screenshots:

          under *various* now you see *jupiter* and *mars*, but *the echo "foo" and "bar" and "Have a beer at foo bar" cannot be seen anymore, they disappeared*, unless you go back to the classic view's console output, as shown intest-pipeline_6_Console_[Jenkins]_-_2017-10-17_14.08.17.png.

          I think that in such a stage, the stage name (in this case "various") should be clickable or it should have its own clickable circle before or after the parallel ones, maybe in a different color to make it clear that it's not parallel. Or maybe the parallel steps should have a different color than all the other circles.

           
          New: See attached *test-pipeline-simple.groovy*, stage called *various*. Blue ocean shows the different echo steps one after another, see jenkins_test-pipeline_5_-_2017-10-17_14.04.10.png.

          Then I added a *parralel step ("mars" and "jupiter")* between "Bar" and "Have a beer at foo bar". See *test-pipeline-parallel.groovy,* jenkins_test-pipeline_6* screenshots:

          under *various* now you see *jupiter* and *mars*, but *the echo "foo" and "bar" and "Have a beer at foo bar" cannot be seen anymore, they disappeared*, unless you go back to the classic view's console output, as shown intest-pipeline_6_Console_[Jenkins]_-_2017-10-17_14.08.17.png.

          I think that in such a stage, the stage name (in this case "various") should be clickable or it should have its own clickable circle before or after the parallel ones, maybe in a different color to make it clear that it's not parallel. Or maybe the parallel steps should have a different color than all the other circles.

          This affects also the multi branch pipeline projects, but for the sake of simplicity I created a simple pipeline to demonstrate/reproduce the issue.

           

          James Dumay added a comment -

          pbro hey thanks for the detailed report (I wish they were all as good!). I suspect this is a duplicate of JENKINS-35836 - does that sound right to you? If you could verify that would help here.

          James Dumay added a comment - pbro hey thanks for the detailed report (I wish they were all as good!). I suspect this is a duplicate of JENKINS-35836 - does that sound right to you? If you could verify that would help here.

          Paolo Brocco added a comment - - edited

          jamesdumay oh sorry I didn't see the duplicate, maybe because it was closed...

          as you wrote in the other issue "it is unlikely that we will be able to satisfy everyone with any of the suggested resolutions" I guess that the destiny of this one will be the same... closed as "Won't do".

          I guess we'll live with that: always switching back and forth between blue ocean and the "classic view" because blue ocean doesn't show all the logs as one would expect...

          Paolo Brocco added a comment - - edited jamesdumay oh sorry I didn't see the duplicate, maybe because it was closed... as you wrote in the other issue "it is unlikely that we will be able to satisfy everyone with any of the suggested resolutions" I guess that the destiny of this one will be the same... closed as "Won't do". I guess we'll live with that: always switching back and forth between blue ocean and the "classic view" because blue ocean doesn't show all the logs as one would expect...

          James Dumay added a comment -

          pbro the easiest way to make the visualization work the way you want it is to ensure everything sits within a stage block.

          So for example, if you had:

          stage('cool stage') {
            echo 'Starting coolness'
            parallel (...)
            echo 'Ended coolness'
          }
          

          Then you could instead write:

          stage('preparing cool') {
              echo 'Starting coolness'
          }
          stage('cool stage') {
            parallel (...)
          }
          stage('finishing cool') {
              echo 'Ended coolness'
          }
          

          You would then be able to access all steps from the UI.

          There are a number of styles of Pipelines that we can't support (at least for the moment) due to Pipeline scripts rather open ended design. Of course, Declarative Pipeline will not allow you to write Pipelines that cannot be visualised.

          Sorry we can't be much help here.

          James Dumay added a comment - pbro the easiest way to make the visualization work the way you want it is to ensure everything sits within a stage block. So for example, if you had: stage( 'cool stage' ) { echo 'Starting coolness' parallel (...) echo 'Ended coolness' } Then you could instead write: stage( 'preparing cool' ) { echo 'Starting coolness' } stage( 'cool stage' ) { parallel (...) } stage( 'finishing cool' ) { echo 'Ended coolness' } You would then be able to access all steps from the UI. There are a number of styles of Pipelines that we can't support (at least for the moment) due to Pipeline scripts rather open ended design. Of course, Declarative Pipeline will not allow you to write Pipelines that cannot be visualised. Sorry we can't be much help here.
          James Dumay made changes -
          Link New: This issue duplicates JENKINS-35836 [ JENKINS-35836 ]
          James Dumay made changes -
          Resolution New: Duplicate [ 3 ]
          Status Original: Open [ 1 ] New: Resolved [ 5 ]
          James Dumay made changes -
          Link Original: This issue is related to JENKINS-44820 [ JENKINS-44820 ]

            Unassigned Unassigned
            pbro Paolo Brocco
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: