summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jenkins_jobs/modules/wrappers.py13
-rw-r--r--tests/jsonparser/fixtures/complete001.xml14
-rw-r--r--tests/wrappers/fixtures/timeout/timeout001.xml12
-rw-r--r--tests/wrappers/fixtures/timeout/timeout002.xml14
-rw-r--r--tests/wrappers/fixtures/timeout/timeout003.xml14
-rw-r--r--tests/yamlparser/fixtures/complete001.xml14
-rw-r--r--tests/yamlparser/fixtures/include-raw001.xml14
-rw-r--r--tests/yamlparser/fixtures/include001.xml14
-rw-r--r--tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml14
-rw-r--r--tests/yamlparser/fixtures/lazy-load-jobs001.xml14
-rw-r--r--tests/yamlparser/fixtures/lazy-load-jobs002.xml14
-rw-r--r--tests/yamlparser/fixtures/yaml_anchor.xml12
12 files changed, 92 insertions, 71 deletions
diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py
index e00f1800..acf6c1fc 100644
--- a/jenkins_jobs/modules/wrappers.py
+++ b/jenkins_jobs/modules/wrappers.py
@@ -311,14 +311,19 @@ def timeout(registry, xml_parent, data):
prefix = 'hudson.plugins.build__timeout.'
twrapper = XML.SubElement(xml_parent, prefix + 'BuildTimeoutWrapper')
- plugin_info = registry.get_plugin_info(
- "Jenkins build timeout plugin")
- version = pkg_resources.parse_version(plugin_info.get("version", "0"))
+ plugin_info = registry.get_plugin_info("Build Timeout")
+ if "version" not in plugin_info:
+ plugin_info = registry.get_plugin_info("Jenkins build timeout plugin")
+ version = plugin_info.get("version", None)
+ if version:
+ version = pkg_resources.parse_version(version)
valid_strategies = ['absolute', 'no-activity', 'likely-stuck', 'elastic',
'deadline']
- if version >= pkg_resources.parse_version("1.14"):
+ # NOTE(toabctl): if we don't know the version assume that we
+ # use a newer version of the plugin
+ if not version or version >= pkg_resources.parse_version("1.14"):
strategy = data.get('type', 'absolute')
if strategy not in valid_strategies:
InvalidAttributeError('type', strategy, valid_strategies)
diff --git a/tests/jsonparser/fixtures/complete001.xml b/tests/jsonparser/fixtures/complete001.xml
index bbaaad0f..355fac1a 100644
--- a/tests/jsonparser/fixtures/complete001.xml
+++ b/tests/jsonparser/fixtures/complete001.xml
@@ -110,12 +110,14 @@ print("Doing something cool with python")
<publishers/>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>150</timeoutPercentage>
- <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
- <timeoutType>elastic</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy">
+ <timeoutPercentage>150</timeoutPercentage>
+ <numberOfBuilds>0</numberOfBuilds>
+ <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
<org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper>
<buildSteps>
diff --git a/tests/wrappers/fixtures/timeout/timeout001.xml b/tests/wrappers/fixtures/timeout/timeout001.xml
index 8e6fbd82..cbbb0d35 100644
--- a/tests/wrappers/fixtures/timeout/timeout001.xml
+++ b/tests/wrappers/fixtures/timeout/timeout001.xml
@@ -2,13 +2,13 @@
<project>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>90</timeoutMinutes>
+ <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy">
+ <timeoutMinutes>90</timeoutMinutes>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
<timeoutEnvVar>BUILD_TIMEOUT</timeoutEnvVar>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>0</timeoutPercentage>
- <timeoutMinutesElasticDefault>3</timeoutMinutesElasticDefault>
- <timeoutType>absolute</timeoutType>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
</buildWrappers>
</project>
diff --git a/tests/wrappers/fixtures/timeout/timeout002.xml b/tests/wrappers/fixtures/timeout/timeout002.xml
index b7e1c68f..60192eeb 100644
--- a/tests/wrappers/fixtures/timeout/timeout002.xml
+++ b/tests/wrappers/fixtures/timeout/timeout002.xml
@@ -2,12 +2,12 @@
<project>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
- <failBuild>false</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>0</timeoutPercentage>
- <timeoutMinutesElasticDefault>3</timeoutMinutesElasticDefault>
- <timeoutType>likelyStuck</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.LikelyStuckTimeOutStrategy">
+ <timeoutMinutes>3</timeoutMinutes>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.AbortOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
</buildWrappers>
-</project> \ No newline at end of file
+</project>
diff --git a/tests/wrappers/fixtures/timeout/timeout003.xml b/tests/wrappers/fixtures/timeout/timeout003.xml
index 727d9a33..0b671de2 100644
--- a/tests/wrappers/fixtures/timeout/timeout003.xml
+++ b/tests/wrappers/fixtures/timeout/timeout003.xml
@@ -2,13 +2,15 @@
<project>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
+ <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy">
+ <timeoutPercentage>150</timeoutPercentage>
+ <numberOfBuilds>0</numberOfBuilds>
+ <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
<timeoutEnvVar>BUILD_TIMEOUT</timeoutEnvVar>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>150</timeoutPercentage>
- <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
- <timeoutType>elastic</timeoutType>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
</buildWrappers>
</project>
diff --git a/tests/yamlparser/fixtures/complete001.xml b/tests/yamlparser/fixtures/complete001.xml
index f6c5192d..546fd5e6 100644
--- a/tests/yamlparser/fixtures/complete001.xml
+++ b/tests/yamlparser/fixtures/complete001.xml
@@ -114,12 +114,14 @@ print(&quot;Doing something cool with python&quot;)
<publishers/>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>150</timeoutPercentage>
- <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
- <timeoutType>elastic</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy">
+ <timeoutPercentage>150</timeoutPercentage>
+ <numberOfBuilds>0</numberOfBuilds>
+ <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
<org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper>
<buildSteps>
diff --git a/tests/yamlparser/fixtures/include-raw001.xml b/tests/yamlparser/fixtures/include-raw001.xml
index 494410c5..7ec205f1 100644
--- a/tests/yamlparser/fixtures/include-raw001.xml
+++ b/tests/yamlparser/fixtures/include-raw001.xml
@@ -23,12 +23,14 @@
<publishers/>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>150</timeoutPercentage>
- <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
- <timeoutType>elastic</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy">
+ <timeoutPercentage>150</timeoutPercentage>
+ <numberOfBuilds>0</numberOfBuilds>
+ <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
<org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper>
<buildSteps>
diff --git a/tests/yamlparser/fixtures/include001.xml b/tests/yamlparser/fixtures/include001.xml
index 640c3edb..ec833ab2 100644
--- a/tests/yamlparser/fixtures/include001.xml
+++ b/tests/yamlparser/fixtures/include001.xml
@@ -23,12 +23,14 @@
<publishers/>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>150</timeoutPercentage>
- <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
- <timeoutType>elastic</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy">
+ <timeoutPercentage>150</timeoutPercentage>
+ <numberOfBuilds>0</numberOfBuilds>
+ <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
<org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper>
<buildSteps>
diff --git a/tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml b/tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml
index 2df35f29..4d0d39bf 100644
--- a/tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml
+++ b/tests/yamlparser/fixtures/lazy-load-jobs-multi001.xml
@@ -33,12 +33,14 @@ echo &quot;Doing somethiung cool&quot;
<publishers/>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>150</timeoutPercentage>
- <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
- <timeoutType>elastic</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy">
+ <timeoutPercentage>150</timeoutPercentage>
+ <numberOfBuilds>0</numberOfBuilds>
+ <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
</buildWrappers>
</project>
diff --git a/tests/yamlparser/fixtures/lazy-load-jobs001.xml b/tests/yamlparser/fixtures/lazy-load-jobs001.xml
index 62a32bfe..bc6d7aeb 100644
--- a/tests/yamlparser/fixtures/lazy-load-jobs001.xml
+++ b/tests/yamlparser/fixtures/lazy-load-jobs001.xml
@@ -30,12 +30,14 @@ VERSION=&quot;1.1&quot;
<publishers/>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>150</timeoutPercentage>
- <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
- <timeoutType>elastic</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy">
+ <timeoutPercentage>150</timeoutPercentage>
+ <numberOfBuilds>0</numberOfBuilds>
+ <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
</buildWrappers>
</project>
diff --git a/tests/yamlparser/fixtures/lazy-load-jobs002.xml b/tests/yamlparser/fixtures/lazy-load-jobs002.xml
index 446e1dc1..b44a0154 100644
--- a/tests/yamlparser/fixtures/lazy-load-jobs002.xml
+++ b/tests/yamlparser/fixtures/lazy-load-jobs002.xml
@@ -30,12 +30,14 @@ VERSION=&quot;1.2&quot;
<publishers/>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>3</timeoutMinutes>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>150</timeoutPercentage>
- <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
- <timeoutType>elastic</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.ElasticTimeOutStrategy">
+ <timeoutPercentage>150</timeoutPercentage>
+ <numberOfBuilds>0</numberOfBuilds>
+ <timeoutMinutesElasticDefault>90</timeoutMinutesElasticDefault>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
<org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper>
<buildSteps>
diff --git a/tests/yamlparser/fixtures/yaml_anchor.xml b/tests/yamlparser/fixtures/yaml_anchor.xml
index 65868964..9d18713d 100644
--- a/tests/yamlparser/fixtures/yaml_anchor.xml
+++ b/tests/yamlparser/fixtures/yaml_anchor.xml
@@ -13,12 +13,12 @@
<publishers/>
<buildWrappers>
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
- <timeoutMinutes>180</timeoutMinutes>
- <failBuild>true</failBuild>
- <writingDescription>false</writingDescription>
- <timeoutPercentage>0</timeoutPercentage>
- <timeoutMinutesElasticDefault>3</timeoutMinutesElasticDefault>
- <timeoutType>absolute</timeoutType>
+ <strategy class="hudson.plugins.build_timeout.impl.AbsoluteTimeOutStrategy">
+ <timeoutMinutes>180</timeoutMinutes>
+ </strategy>
+ <operationList>
+ <hudson.plugins.build__timeout.operations.FailOperation/>
+ </operationList>
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
<hudson.plugins.timestamper.TimestamperBuildWrapper/>
</buildWrappers>