From 38aa498df39784ded28c401de018db836d1a6a23 Mon Sep 17 00:00:00 2001 From: Sergii Kipot Date: Wed, 14 Aug 2019 20:32:27 +0200 Subject: Add support of "disableDeferredWipeout" option to workspace cleanup plugin Change-Id: I2edd0343966e1720161c291b811b989f005495fb --- jenkins_jobs/modules/publishers.py | 5 ++++- jenkins_jobs/modules/wrappers.py | 3 +++ tests/publishers/fixtures/workspace-cleanup-full.xml | 1 + tests/publishers/fixtures/workspace-cleanup-full.yaml | 1 + tests/publishers/fixtures/workspace-cleanup-minimal.xml | 1 + tests/wrappers/fixtures/workspace-cleanup-full.xml | 1 + tests/wrappers/fixtures/workspace-cleanup-full.yaml | 1 + tests/wrappers/fixtures/workspace-cleanup-min.xml | 1 + 8 files changed, 13 insertions(+), 1 deletion(-) diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py index b8cdaff8..29c3ea4e 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 16b2d86b..ab5dc2b3 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 d5563863..ebe438e9 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 1ea41495..0f5f5e52 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 36f0e03e..d264147d 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 06b9e11b..22f72f23 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 4ec97cbd..94b66223 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 309a65be..eaecd5d8 100644 --- a/tests/wrappers/fixtures/workspace-cleanup-min.xml +++ b/tests/wrappers/fixtures/workspace-cleanup-min.xml @@ -5,6 +5,7 @@ false + false -- cgit