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

Build result regression since pipeline-maven 3.5.15 for failing tests (UNSTABLE)

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical Critical
    • pipeline-maven-plugin
    • None
    • Jenkins ver. 2.138.2
      pipeline-maven 3.5.15

      The removal of this block is causing a (temporary) inconsistent overall build result because archiver.perform() used to set currentBuild.result in 3.5.14 (see also here) but now (due to the removal) the result is not set anymore.

      This now leads to other plugins picking up the wrong result (SUCCESS) when being used in post pipeline blocks. We, for instance, explicitely call step([$class: 'StashNotifier']) in cleanup which before 3.5.15 sent the correct status to BitBucket PRs but now with 3.5.15 the PRs always receive SUCCESS/OK even though there are test failures.
      And of course if you evaluate currentBuild.result directly (like we also do to send messages via Rocket.Chat), you also see the wrong result.

      The final pipeline build result is correct in these cases (UNSTABLE) but you just cannot retrieve it anymore from within the pipeline while it is still running.

      I consider this a severe breaking change.

      What puzzles me is that the very same commit that removed the invokation of archiver.perform() also removed this note (further down):

      // TODO: Once JENKINS-43995 lands, update this to set the step status instead of the entire build.

      Judging from it's status, JENKINS-43995 has not "landed" yet!
       

            cleclerc Cyrille Le Clerc
            famod Falko Modler
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: