diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index b8cdaff84..29c3ea4eb 100644 --- a/jenkins_jobs/modules/publishers.py +++ b/jenkins_jobs/modules/publishers.py @@ -3521,6 +3521,8 @@ def workspace_cleanup(registry, xml_parent, data): :arg bool clean-parent: Cleanup matrix parent workspace (default false) :arg str external-deletion-command: external deletion command to run against files and directories + :arg bool disable-deferred-wipeout: Disable improved deferred wipeout + method (default false) Minimal Example: @@ -3554,7 +3556,8 @@ def workspace_cleanup(registry, xml_parent, data): mappings = [ ('dirmatch', 'deleteDirs', False), ('clean-parent', 'cleanupMatrixParent', False), - ('external-deletion-command', 'externalDelete', '') + ('external-deletion-command', 'externalDelete', ''), + ('disable-deferred-wipeout', 'disableDeferredWipeout', False), ] helpers.convert_mapping_to_xml(p, data, mappings, fail_required=True) diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py index 16b2d86b0..ab5dc2b3e 100644 --- a/jenkins_jobs/modules/wrappers.py +++ b/jenkins_jobs/modules/wrappers.py @@ -767,6 +767,8 @@ def workspace_cleanup(registry, xml_parent, data): determine whether to actually clean up :arg str external-deletion-command: external deletion command to run against files and directories + :arg bool disable-deferred-wipeout: Disable improved deferred wipeout + method (default false) Full Example: @@ -808,6 +810,7 @@ def workspace_cleanup(registry, xml_parent, data): ("dirmatch", 'deleteDirs', False), ('check-parameter', 'cleanupParameter', ''), ('external-deletion-command', 'externalDelete', ''), + ('disable-deferred-wipeout', 'disableDeferredWipeout', False), ] helpers.convert_mapping_to_xml(p, data, mapping, fail_required=True) diff --git a/tests/publishers/fixtures/workspace-cleanup-full.xml b/tests/publishers/fixtures/workspace-cleanup-full.xml index d55638632..ebe438e97 100644 --- a/tests/publishers/fixtures/workspace-cleanup-full.xml +++ b/tests/publishers/fixtures/workspace-cleanup-full.xml @@ -15,6 +15,7 @@ true true command + true false false false diff --git a/tests/publishers/fixtures/workspace-cleanup-full.yaml b/tests/publishers/fixtures/workspace-cleanup-full.yaml index 1ea41495b..0f5f5e52f 100644 --- a/tests/publishers/fixtures/workspace-cleanup-full.yaml +++ b/tests/publishers/fixtures/workspace-cleanup-full.yaml @@ -14,3 +14,4 @@ publishers: fail-build: false clean-parent: true external-deletion-command: 'command' + disable-deferred-wipeout: true diff --git a/tests/publishers/fixtures/workspace-cleanup-minimal.xml b/tests/publishers/fixtures/workspace-cleanup-minimal.xml index 36f0e03ef..d264147d7 100644 --- a/tests/publishers/fixtures/workspace-cleanup-minimal.xml +++ b/tests/publishers/fixtures/workspace-cleanup-minimal.xml @@ -5,6 +5,7 @@ false false + false true true true diff --git a/tests/wrappers/fixtures/workspace-cleanup-full.xml b/tests/wrappers/fixtures/workspace-cleanup-full.xml index 06b9e11ba..22f72f23d 100644 --- a/tests/wrappers/fixtures/workspace-cleanup-full.xml +++ b/tests/wrappers/fixtures/workspace-cleanup-full.xml @@ -15,6 +15,7 @@ true DO_WS_CLEANUP shred -u %s + true diff --git a/tests/wrappers/fixtures/workspace-cleanup-full.yaml b/tests/wrappers/fixtures/workspace-cleanup-full.yaml index 4ec97cbd6..94b662231 100644 --- a/tests/wrappers/fixtures/workspace-cleanup-full.yaml +++ b/tests/wrappers/fixtures/workspace-cleanup-full.yaml @@ -7,3 +7,4 @@ wrappers: dirmatch: true check-parameter: "DO_WS_CLEANUP" external-deletion-command: "shred -u %s" + disable-deferred-wipeout: true diff --git a/tests/wrappers/fixtures/workspace-cleanup-min.xml b/tests/wrappers/fixtures/workspace-cleanup-min.xml index 309a65be6..eaecd5d87 100644 --- a/tests/wrappers/fixtures/workspace-cleanup-min.xml +++ b/tests/wrappers/fixtures/workspace-cleanup-min.xml @@ -5,6 +5,7 @@ false + false