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

Blue Ocean Pipeline: only first skipped cell of matrix shown as skipped

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • blueocean-plugin, pipeline
    • None
    • Jenkins 2.226

      When stages within a matrix are skipped using the 'when' directive, the pipeline result is not rendered correctly. The first cell of the matrix is correctly shown as 'Skipped', however subsequent cells are shown as 'Passed' (in 0s). This is very confusing.

       

      #!groovy
      pipeline {  
        agent none
        parameters {
          booleanParam( name: 'matrix', defaultValue: true )
          booleanParam( name: 'parallel', defaultValue: true )
        }  
        stages {
      
          stage( 'matrix' ) {
            matrix {
              axes {
                axis {
                  name 'server'
                  values 'server-one', 'server-two'
                }
              }
              stages {
                stage( 'matrix' ) {
                  agent {
                    label "${server}"
                  }
                  when {
                    expression { params.matrix }
                  }
                  steps {
                    echo "matrix ${server}"
                  }
                }
              }
            }      
          }
          
          stage( 'parallel' ) {
          
            parallel {
      
              stage( 'parallel-one' ) {
                agent {
                  label 'server-one'
                }
                when {
                  expression { params.parallel }
                }
                steps {
                  echo 'parallel-one'
                }
              }        stage( 'parallel-two' ) {
                agent {
                  label 'server-two'
                }
                when {
                  expression { params.parallel }
                }
                steps {
                  echo 'parallel-two'
                }
              }
              
            }
          }
          
        } // stages
      
      } // pipeline
      

       

          [JENKINS-61658] Blue Ocean Pipeline: only first skipped cell of matrix shown as skipped

          Stefan Drissen created issue -
          Stefan Drissen made changes -
          Description Original: When stages within a matrix are skipped using the when, directive, the build is not rendered correctly. The first cell of the matrix is correctly shown as 'Skipped', the subsequent cells are shown as 'Passed' (in 0s). This is very confusing.

           
          {noformat}
          #!groovy
          pipeline {
            agent none
            parameters {
              booleanParam( name: 'matrix', defaultValue: true )
              booleanParam( name: 'parallel', defaultValue: true )
            }
            stages {

              stage( 'matrix' ) {
                matrix {
                  axes {
                    axis {
                      name 'server'
                      values 'server-one', 'server-two'
                    }
                  }
                  stages {
                    stage( 'matrix' ) {
                      agent {
                        label "${server}"
                      }
                      when {
                        expression { params.matrix }
                      }
                      steps {
                        echo "matrix ${server}"
                      }
                    }
                  }
                }
              }
              
              stage( 'parallel' ) {
              
                parallel {

                  stage( 'parallel-one' ) {
                    agent {
                      label 'server-one'
                    }
                    when {
                      expression { params.parallel }
                    }
                    steps {
                      echo 'parallel-one'
                    }
                  } stage( 'parallel-two' ) {
                    agent {
                      label 'server-two'
                    }
                    when {
                      expression { params.parallel }
                    }
                    steps {
                      echo 'parallel-two'
                    }
                  }
                  
                }
              }
              
            } // stages

          } // pipeline
          {noformat}
          !image-2020-03-24-09-29-52-211.png!

           
          New: When stages within a matrix are skipped using the 'when' directive, the build result is not rendered correctly. The first cell of the matrix is correctly shown as 'Skipped', however subsequent cells are shown as 'Passed' (in 0s). This is very confusing.

           
          {noformat}
          #!groovy
          pipeline {
            agent none
            parameters {
              booleanParam( name: 'matrix', defaultValue: true )
              booleanParam( name: 'parallel', defaultValue: true )
            }
            stages {

              stage( 'matrix' ) {
                matrix {
                  axes {
                    axis {
                      name 'server'
                      values 'server-one', 'server-two'
                    }
                  }
                  stages {
                    stage( 'matrix' ) {
                      agent {
                        label "${server}"
                      }
                      when {
                        expression { params.matrix }
                      }
                      steps {
                        echo "matrix ${server}"
                      }
                    }
                  }
                }
              }
              
              stage( 'parallel' ) {
              
                parallel {

                  stage( 'parallel-one' ) {
                    agent {
                      label 'server-one'
                    }
                    when {
                      expression { params.parallel }
                    }
                    steps {
                      echo 'parallel-one'
                    }
                  } stage( 'parallel-two' ) {
                    agent {
                      label 'server-two'
                    }
                    when {
                      expression { params.parallel }
                    }
                    steps {
                      echo 'parallel-two'
                    }
                  }
                  
                }
              }
              
            } // stages

          } // pipeline
          {noformat}
          !image-2020-03-24-09-29-52-211.png!

           
          Stefan Drissen made changes -
          Description Original: When stages within a matrix are skipped using the 'when' directive, the build result is not rendered correctly. The first cell of the matrix is correctly shown as 'Skipped', however subsequent cells are shown as 'Passed' (in 0s). This is very confusing.

           
          {noformat}
          #!groovy
          pipeline {
            agent none
            parameters {
              booleanParam( name: 'matrix', defaultValue: true )
              booleanParam( name: 'parallel', defaultValue: true )
            }
            stages {

              stage( 'matrix' ) {
                matrix {
                  axes {
                    axis {
                      name 'server'
                      values 'server-one', 'server-two'
                    }
                  }
                  stages {
                    stage( 'matrix' ) {
                      agent {
                        label "${server}"
                      }
                      when {
                        expression { params.matrix }
                      }
                      steps {
                        echo "matrix ${server}"
                      }
                    }
                  }
                }
              }
              
              stage( 'parallel' ) {
              
                parallel {

                  stage( 'parallel-one' ) {
                    agent {
                      label 'server-one'
                    }
                    when {
                      expression { params.parallel }
                    }
                    steps {
                      echo 'parallel-one'
                    }
                  } stage( 'parallel-two' ) {
                    agent {
                      label 'server-two'
                    }
                    when {
                      expression { params.parallel }
                    }
                    steps {
                      echo 'parallel-two'
                    }
                  }
                  
                }
              }
              
            } // stages

          } // pipeline
          {noformat}
          !image-2020-03-24-09-29-52-211.png!

           
          New: When stages within a matrix are skipped using the 'when' directive, the pipeline result is not rendered correctly. The first cell of the matrix is correctly shown as 'Skipped', however subsequent cells are shown as 'Passed' (in 0s). This is very confusing.

           
          {noformat}
          #!groovy
          pipeline {
            agent none
            parameters {
              booleanParam( name: 'matrix', defaultValue: true )
              booleanParam( name: 'parallel', defaultValue: true )
            }
            stages {

              stage( 'matrix' ) {
                matrix {
                  axes {
                    axis {
                      name 'server'
                      values 'server-one', 'server-two'
                    }
                  }
                  stages {
                    stage( 'matrix' ) {
                      agent {
                        label "${server}"
                      }
                      when {
                        expression { params.matrix }
                      }
                      steps {
                        echo "matrix ${server}"
                      }
                    }
                  }
                }
              }
              
              stage( 'parallel' ) {
              
                parallel {

                  stage( 'parallel-one' ) {
                    agent {
                      label 'server-one'
                    }
                    when {
                      expression { params.parallel }
                    }
                    steps {
                      echo 'parallel-one'
                    }
                  } stage( 'parallel-two' ) {
                    agent {
                      label 'server-two'
                    }
                    when {
                      expression { params.parallel }
                    }
                    steps {
                      echo 'parallel-two'
                    }
                  }
                  
                }
              }
              
            } // stages

          } // pipeline
          {noformat}
          !image-2020-03-24-09-29-52-211.png!

           
          Stefan Drissen made changes -
          Priority Original: Minor [ 4 ] New: Major [ 3 ]
          Stefan Drissen made changes -
          Attachment New: image-2020-03-25-17-31-20-694.png [ 50750 ]
          Stefan Drissen made changes -
          Attachment New: image-2020-03-25-17-31-24-907.png [ 50751 ]

            Unassigned Unassigned
            smd Stefan Drissen
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: