JUnit failures do not trigger unstable post steps

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Blocker
    • Component/s: junit-plugin
    • Environment:
      Jenkins 2.46.3
      Junit plugin 1.22.2
      Pipeline API 2.23.1
      Pipeline declarative 1.2.4

      Since the Junit plugin upgrade to 1.22, the junit step do not not trigger unstable post steps anymore.

      Example of declarativeĀ pipeline to reproduce :

      Ā 

      pipeline {
        stages {
          stage('Build') {
            steps {
      
              ... Maven build with JUnit failures here
      
              junit testResults: '**/target/surefire-reports/TEST-*.xml'
            }
            post {
              always {
                echo "Pipeline status: ${currentBuild.result}"
              }
            }
          }
        }
        post {
          always {
            echo "Pipeline status: ${currentBuild.result}"
          }
          failure {
            echo 'Pipeline status : failure'
          }
          unstable {
            echo 'Pipeline status : unstable'
          }
          changed {
            echo 'Pipeline status : changed'
          }
        }
      }
      
      

      Ā 

      With this sample, the console output is :

      Pipeline status: null
      Pipeline status: null
      Pipeline status : changed

      The final state of the build is unstable :
      The unstable post steps (on stage or pipeline level) are never called :

            Assignee:
            Unassigned
            Reporter:
            Mathieu LL
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: