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

Not detecting all step failures when running in parallel

XMLWordPrintable

      We have a pipeline which is pretty much the anonymized version from below but it's running 35 tests instead of 2. Recently we noticed that one of the failing tests doesn't show up in the stage view in the classic jenkins UI but it does under Blue Ocean. I'm not sure what details are needed to go forward with this but please ask and I will try to provide them.

      node('!master') {
         deleteDir()
         def mvnHome
         mvnHome = tool 'M3'
         stage('Prepare') {
             checkout([$class: 'SubversionSCM', 
                additionalCredentials: [], 
                excludedCommitMessages: '', 
                excludedRegions: '', 
                excludedRevprop: '', 
                excludedUsers: '', 
                filterChangelog: false, 
                ignoreDirPropChanges: false, 
                includedRegions: '', 
                locations: [[credentialsId: '1234-5678', 
                             depthOption: 'infinity', 
                             ignoreExternalsOption: true, 
                             local: './', 
                             remote: 'http://repo.example.com/my_project/trunk@HEAD']], 
                workspaceUpdater: [$class: 'UpdateUpdater']])
         }
         stage('Build & Test') {
            sh "'${mvnHome}/bin/mvn' -B -fn install"
            junit 'my_project/target/surefire-reports/*.xml'
            if (currentBuild.result == null) {
                dir("my_project/target/"){
                    stash name: "bundle-$BUILD_NUMBER", includes: "bundle.zip"
                }
            }
         }
      }
      
      def testNames = ['Upgrade', 'Prime']
      def playTests = [:]
      for (x in testNames) {
          def test = x
          playTests[test] = {
              node {
                  try {
                      unstash name: "bundle-$BUILD_NUMBER"
                      sh 'Run tests that sometimes failes'
                  } catch (e) {
                      sh 'exit 1'
                  } finally {
                      deleteDir()
                  }
              }
          }
      }
      stage("PlayTest") {
          try {
              if (currentBuild.result == null) {
                  parallel playTests
              }
          }
      }
      

            svanoort Sam Van Oort
            rbjorklin Robin Björklin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: