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

          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.

          Michael Neale added a comment -

          pbro unfortunately scripted pipeline is a full programming language, it isn't possible to show that visually for all cases. In this case it would be nice to have a fallback that "flattens things out" etc... and perhaps could one day, but with the growing popularity of declarative, it is an easier option to stay within the realms of something visualisable. 

          Michael Neale added a comment - pbro unfortunately scripted pipeline is a full programming language, it isn't possible to show that visually for all cases. In this case it would be nice to have a fallback that "flattens things out" etc... and perhaps could one day, but with the growing popularity of declarative, it is an easier option to stay within the realms of something visualisable. 

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

              Created:
              Updated:
              Resolved: