1
{% extends "touch-base.xml.jinja2" %}
1
<?xml version='1.0' encoding='UTF-8'?>
2
<com.cloudbees.plugins.flow.BuildFlow>
6
#NOTE: Automatically created from a script as part of daily smoke testing
10
<keepDependencies>false</keepDependencies>
12
<hudson.model.ParametersDefinitionProperty>
13
<parameterDefinitions>
14
<hudson.model.StringParameterDefinition>
16
<description>Seconds to sleep before starting the job
18
<defaultValue>{{ wait }}</defaultValue>
19
</hudson.model.StringParameterDefinition>
20
</parameterDefinitions>
21
</hudson.model.ParametersDefinitionProperty>
22
<hudson.plugins.throttleconcurrents.ThrottleJobProperty>
23
<maxConcurrentPerNode>0</maxConcurrentPerNode>
24
<maxConcurrentTotal>0</maxConcurrentTotal>
25
<throttleEnabled>false</throttleEnabled>
26
<throttleOption>project</throttleOption>
27
</hudson.plugins.throttleconcurrents.ThrottleJobProperty>
28
<hudson.plugins.build__publisher.ExternalProjectProperty/>
30
<scm class="hudson.scm.NullSCM"/>
31
<assignedNode>master</assignedNode>
32
<canRoam>false</canRoam>
33
<disabled>false</disabled>
34
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
35
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
3
37
<triggers class="vector">
4
38
<com.redfin.hudson.UrlChangeTrigger>
6
40
<url>{{trigger_url}}</url>
7
41
</com.redfin.hudson.UrlChangeTrigger>
10
{% block shellblock %}{% endblock %}
11
{% block extrasteps %}
44
<concurrentBuild>false</concurrentBuild>
48
<hudson.plugins.build__timeout.BuildTimeoutWrapper>
49
<timeoutMinutes>300</timeoutMinutes>
50
<failBuild>true</failBuild>
51
<writingDescription>false</writingDescription>
52
<timeoutPercentage>0</timeoutPercentage>
53
<timeoutType>absolute</timeoutType>
54
<timeoutMinutesElasticDefault>3</timeoutMinutesElasticDefault>
55
</hudson.plugins.build__timeout.BuildTimeoutWrapper>
58
// give the image time to show up before running tests
59
out.println("sleeping for a bit")
60
def sleep = build.environment.get("sleep").toLong()
61
build.sleep(sleep * 1000)
65
{% for x in range(num_workers) %}
66
worker_{{x}}: { build("{{smoke_job}}", worker_idx: {{x}}, workers: {{num_workers}}) },
71
out.println("kicking off downstream projects in parellel")
72
install_url = build.environment.get("HUDSON_URL") + join.worker_0.lastBuild.build.url
12
74
{% for project in projects %}
13
<hudson.plugins.parameterizedtrigger.TriggerBuilder>
15
<hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
16
<configs class="java.util.Collections$EmptyList"/>
17
<projects>{{project}}</projects>
18
<condition>ALWAYS</condition>
19
<triggerWithNoParameters>false</triggerWithNoParameters>
21
{% if "install-and-boot" in project %}
22
<buildStepFailureThreshold>
26
</buildStepFailureThreshold>
33
{% if "install-and-boot" in project or "default" in project %}
41
<buildAllNodesWithLabel>false</buildAllNodesWithLabel>
42
</hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
44
</hudson.plugins.parameterizedtrigger.TriggerBuilder>
75
{build("{{project}}", INSTALL_URL: install_url)},
48
<timeoutMinutes>300</timeoutMinutes>
49
{% endblock timeout %}
50
{% block artifactblock %}{% endblock %}
51
{% block descriptionsetter %}{% endblock %}
52
{% block buildpublisher %}{% endblock %}
53
{% block mailer %}{% endblock %}
54
{% block locks %}{% endblock %}
80
</com.cloudbees.plugins.flow.BuildFlow>