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

Sequential stages into parallel for-list are not handled correctly by Blue Ocean UI

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Major Major
    • blueocean-plugin, pipeline
    • None
    • Jenkins ver. 2.150.1
      blueocean 1.9.0

      Here a simple groovy script that demonstrate usage of sequential stages into parallel for-list:

       

      #!/bin/groovy
      def AgentsToRun = ['EpsAgent103','EpsAgent130','EpsAgent153']
      pipeline{
        agent none
        stages{
          stage ('Git'){
            steps{
              script{
                echo "Git"
              }
            }
          }
          stage ('Build'){
            steps{
              script{
                echo 'Build'
              }
            }
          }
          stage ('Parallel Run Test'){
            steps{
              script{
                def RunTests = [:]
                for (x in AgentsToRun){
                  def agent = x
                  RunTests[agent] = {
                    node (agent){
                      stage ("Pull Test to ${agent}"){
                        script{
                          echo 'Pull'
                        }
                      }
                      stage ("Run Test on ${agent}"){
                        script{
                          echo 'Test'
                        }
                      }
                      stage ("Publish Results from ${agent}") {
                        script {
                          echo 'Publish'
                        }
                      }
                    }
                  }
                }
                parallel (RunTests)
              }
            }
          }
          stage ('Final'){
            steps {
              script {
                echo 'Final'
              }
            }
          }
        }
      }
      

      Attached a snapshot of the Blue Ocean, you can see that the sequential steps are not present into the parallel stage, and the final stage is skipped.
      Best Regards,
      Mathieu

          [JENKINS-55320] Sequential stages into parallel for-list are not handled correctly by Blue Ocean UI

          Mathieu Wolf created issue -
          Mathieu Wolf made changes -
          Description Original: Here a simple groovy script that demonstrate usage of sequential stages into parallel for-list:

           
          {code:java}
          #!/bin/groovy
          def AgentsToRun = ['EpsAgent103','EpsAgent130','EpsAgent153']
          pipeline{
            agent none
            stages{
              stage ('Git'){
                steps{
                  script{
                    echo "Git"
                  }
                }
              }
              stage ('Build'){
                steps{
                  script{
                    echo 'Build'
                  }
                }
              }
              stage ('Parallel Run Test'){
                steps{
                  script{
                    def RunTests = [:]
                    for (x in AgentsToRun){
                      def agent = x
                      RunTests[agent] = {
                        node (agent){
                          stage ("Pull Test to ${agent}"){
                            script{
                              echo 'Pull'
                            }
                          }
                          stage ("Run Test on ${agent}"){
                            script{
                              echo 'Test'
                            }
                          }
                          stage ("Publish Results from ${agent}") {
                            script {
                              echo 'Publish'
                            }
                          }
                        }
                      }
                    }
                    parallel (RunTests)
                  }
                }
              }
              stage ('Final'){
                steps {
                  script {
                    echo 'Final'
                  }
                }
              }
            }
          }
          {code}
          Attached a snapshot of the Blue Ocean, you can see that now sequential steps are present into the parallel stage, and the final stage is skipped.
           Best Regards,
           Mathieu
          New: Here a simple groovy script that demonstrate usage of sequential stages into parallel for-list:

           
          {code:java}
          #!/bin/groovy
          def AgentsToRun = ['EpsAgent103','EpsAgent130','EpsAgent153']
          pipeline{
            agent none
            stages{
              stage ('Git'){
                steps{
                  script{
                    echo "Git"
                  }
                }
              }
              stage ('Build'){
                steps{
                  script{
                    echo 'Build'
                  }
                }
              }
              stage ('Parallel Run Test'){
                steps{
                  script{
                    def RunTests = [:]
                    for (x in AgentsToRun){
                      def agent = x
                      RunTests[agent] = {
                        node (agent){
                          stage ("Pull Test to ${agent}"){
                            script{
                              echo 'Pull'
                            }
                          }
                          stage ("Run Test on ${agent}"){
                            script{
                              echo 'Test'
                            }
                          }
                          stage ("Publish Results from ${agent}") {
                            script {
                              echo 'Publish'
                            }
                          }
                        }
                      }
                    }
                    parallel (RunTests)
                  }
                }
              }
              stage ('Final'){
                steps {
                  script {
                    echo 'Final'
                  }
                }
              }
            }
          }
          {code}
          Attached a snapshot of the Blue Ocean, you can see that the sequential steps are not present into the parallel stage, and the final stage is skipped.
          Best Regards,
          Mathieu
          Mathieu Wolf made changes -
          Attachment New: Console.txt [ 45532 ]
          Mathieu Wolf made changes -
          Environment New: Jenkins ver. 2.150.1
          blueocean 1.9.0
          Mathieu Wolf made changes -
          Priority Original: Critical [ 2 ] New: Major [ 3 ]
          Michael Neale made changes -
          Resolution New: Won't Fix [ 2 ]
          Status Original: Open [ 1 ] New: Fixed but Unreleased [ 10203 ]

            Unassigned Unassigned
            matw Mathieu Wolf
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: