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

Durability setting ignored when using lightweight checkout

    XMLWordPrintable

    Details

    • Similar Issues:
    • Released As:
      2.88

      Description

      When the jenkinsfile is obtained from SCM using lightweight checkout, it always executes with maximum durability. (Note: the console output shows the value from the config, not the reality.)

      Minimal pipeline script to reproduce:

      def rb = currentBuild.rawBuild  //whatever non-serializable object
      sleep 1
      

      If we check "Do not allow the pipeline to resume if the master restarts" then we expect no serialization to occur and the script to succeed. However, it fails with a NotSerializableException.

      Note that the same snippet works properly in three other cases:

      • replay
      • non-lightweight checkout
      • script inline on config page, without SCM

      The problem seems to be in CpsScmFlowDefinition, where on line 121 the condition checks if the executable is an Item, but it is in fact a WorkflowRun. The condition should probably be more like the one below, on line 188.

        Attachments

          Activity

          Show
          carroll Carroll Chiou added a comment - Fix here: https://github.com/jenkinsci/workflow-cps-plugin/pull/415

            People

            Assignee:
            carroll Carroll Chiou
            Reporter:
            rudolfwg Rudolf-Walter Kiss-Szakacs
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: