~sergiusens/cupstream2distro-config/dbus-cpp_daily

« back to all changes in this revision

Viewing changes to ci/jenkins-templates/mbs-rebuild-config.xml.tmpl

  • Committer: Tarmac
  • Author(s): Francis Ginther
  • Date: 2013-05-29 14:35:42 UTC
  • mfrom: (288.1.16 mbs-rebuild)
  • Revision ID: tarmac-20130529143542-9cq92v9cyxdtghmf
Enables Meta-Build System rebuilds of downstream projects after autolanding the current project.

This includes:
 - A new mbs-rebuild template to define the parent rebuild jobs, the autolanding jobs are reused as the builder jobs.
 - Updates to the mbs templates to reduce the number of jenkins parameters created.
 - A new archive directory structure to support automatic archive naming from the stack name in the future.
 - New MBS support for the head/mir stack
 - Updates to the oif and unity stacks to use this new method. Fixes: https://bugs.launchpad.net/bugs/1155676.

Approved by PS Jenkins bot, Martin Mrazik.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version='1.0' encoding='UTF-8'?>
 
2
<project>
 
3
  <actions/>
 
4
  <description>&lt;B&gt;WARNING:&lt;/B&gt; This job is autogenerated. Any changes to the configuration will be lost.&lt;BR&gt;&#xd;
 
5
&lt;B&gt;PURPOSE:&lt;/B&gt; Autolanding job for {{ target_branch }}&lt;BR&gt;&#xd;
 
6
&lt;B&gt;TEAM:&lt;/B&gt; {{ team }}&lt;BR&gt;&#xd;
 
7
&lt;B&gt;POC:&lt;/B&gt; {{ contact_email }}&lt;BR&gt;&#xd;</description>
 
8
{% if log_rotator %}
 
9
  <logRotator>
 
10
    <daysToKeep>{{ log_rotator.days_to_keep_builds }}</daysToKeep>
 
11
    <numToKeep>{{ log_rotator.num_to_keep_builds }}</numToKeep>
 
12
    <artifactDaysToKeep>-1</artifactDaysToKeep>
 
13
    <artifactNumToKeep>-1</artifactNumToKeep>
 
14
  </logRotator>
 
15
{% endif %}
 
16
  <keepDependencies>false</keepDependencies>
 
17
  <properties>
 
18
    <hudson.queueSorter.PrioritySorterJobProperty>
 
19
      <priority>{{ priority }}</priority>
 
20
    </hudson.queueSorter.PrioritySorterJobProperty>
 
21
    <hudson.model.ParametersDefinitionProperty>
 
22
      <parameterDefinitions>
 
23
        <hudson.model.StringParameterDefinition>
 
24
          <name>autolanding</name>
 
25
          <description>Specifies that this is an autolanding/merge job. Used to properly set package version string.</description>
 
26
          <defaultValue></defaultValue>
 
27
        </hudson.model.StringParameterDefinition>
 
28
{% for parameter in parameter_list %}
 
29
        <hudson.model.StringParameterDefinition>
 
30
          <name>{{ parameter.name }}</name>
 
31
          <description>{{ parameter.description }}</description>
 
32
          <defaultValue>{{ parameter.value }}</defaultValue>
 
33
        </hudson.model.StringParameterDefinition>
 
34
{% endfor %}
 
35
        <hudson.model.BooleanParameterDefinition>
 
36
          <name>use_description_for_commit</name>
 
37
          <description>If launchpad commit message is not set in Merge Proposal and you use &quot;usr_description_for_commit&quot; then the description will be used for the merge message (i.e. you will see launchpad description in your bzr log).</description>
 
38
          <defaultValue>{{ use_description_for_commit }}</defaultValue>
 
39
        </hudson.model.BooleanParameterDefinition>
 
40
      </parameterDefinitions>
 
41
    </hudson.model.ParametersDefinitionProperty>
 
42
  </properties>
 
43
  <scm class="hudson.scm.NullSCM"/>
 
44
  <canRoam>true</canRoam>
 
45
  <disabled>{{ disabled }}</disabled>
 
46
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
 
47
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
 
48
  <triggers class="vector"/>
 
49
  <concurrentBuild>false</concurrentBuild>
 
50
  <builders>
 
51
    <hudson.plugins.parameterizedtrigger.TriggerBuilder>
 
52
      <configs>
 
53
        <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
 
54
          <configs>
 
55
            <hudson.plugins.parameterizedtrigger.CurrentBuildParameters/>
 
56
            <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
 
57
                <properties>temp_dir={{ local_archive_tmp }}/${local_archive_name}/${project_name}.${BUILD_NUMBER}.rebuild
 
58
landing_candidate=$target_branch</properties>
 
59
            </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
 
60
          </configs>
 
61
          <projects>{{ builder_list }}</projects>
 
62
          <condition>ALWAYS</condition>
 
63
          <triggerWithNoParameters>false</triggerWithNoParameters>
 
64
          <block>
 
65
            <buildStepFailureThreshold>
 
66
              <name>FAILURE</name>
 
67
              <ordinal>2</ordinal>
 
68
              <color>RED</color>
 
69
            </buildStepFailureThreshold>
 
70
            <unstableThreshold>
 
71
              <name>UNSTABLE</name>
 
72
              <ordinal>1</ordinal>
 
73
              <color>YELLOW</color>
 
74
            </unstableThreshold>
 
75
            <failureThreshold>
 
76
              <name>FAILURE</name>
 
77
              <ordinal>2</ordinal>
 
78
              <color>RED</color>
 
79
            </failureThreshold>
 
80
          </block>
 
81
          <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
 
82
        </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
 
83
      </configs>
 
84
    </hudson.plugins.parameterizedtrigger.TriggerBuilder>
 
85
    <hudson.tasks.Shell>
 
86
      <command>#!/bin/bash
 
87
set -x
 
88
 
 
89
temp_dir={{ local_archive_tmp }}/${local_archive_name}/${project_name}.${BUILD_NUMBER}.rebuild
 
90
 
 
91
 
 
92
for p in `ssh {{ local_archive_login }}@{{ local_archive_host }} ls ${temp_dir}`; do
 
93
    ssh {{ local_archive_login }}@{{ local_archive_host }} dput -ufU --config /home/ubuntu/.dput.cf ${local_archive_name} ${temp_dir}/${p}/*.changes
 
94
    # Execute mini-dinstall to update the local archive
 
95
    ssh {{ local_archive_login }}@{{ local_archive_host }} mini-dinstall --no-db --batch --config=&quot;/home/ubuntu/.mini-dinstall-${local_archive_name}.conf&quot;
 
96
done</command>
 
97
    </hudson.tasks.Shell>
 
98
{% if aggregate_tests_script %}
 
99
    <hudson.tasks.Shell>
 
100
      <command>{{ aggregate_tests_script }}</command>
 
101
    </hudson.tasks.Shell>
 
102
{% endif %}
 
103
{% if rebuild %}
 
104
    <hudson.plugins.parameterizedtrigger.TriggerBuilder>
 
105
      <configs>
 
106
        <hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
 
107
          <configs>
 
108
          </configs>
 
109
          <projects>{{ rebuild }}</projects>
 
110
          <condition>ALWAYS</condition>
 
111
          <triggerWithNoParameters>false</triggerWithNoParameters>
 
112
          <block>
 
113
            <buildStepFailureThreshold>
 
114
              <name>UNSTABLE</name>
 
115
              <ordinal>1</ordinal>
 
116
              <color>YELLOW</color>
 
117
            </buildStepFailureThreshold>
 
118
            <unstableThreshold>
 
119
              <name>UNSTABLE</name>
 
120
              <ordinal>1</ordinal>
 
121
              <color>YELLOW</color>
 
122
            </unstableThreshold>
 
123
            <failureThreshold>
 
124
              <name>FAILURE</name>
 
125
              <ordinal>2</ordinal>
 
126
              <color>RED</color>
 
127
            </failureThreshold>
 
128
          </block>
 
129
          <buildAllNodesWithLabel>false</buildAllNodesWithLabel>
 
130
        </hudson.plugins.parameterizedtrigger.BlockableBuildTriggerConfig>
 
131
      </configs>
 
132
    </hudson.plugins.parameterizedtrigger.TriggerBuilder>
 
133
{% endif %}
 
134
  </builders>
 
135
  <publishers>
 
136
{% if aggregate_tests_script %}
 
137
    {% if archive_artifacts %}
 
138
    <hudson.tasks.ArtifactArchiver>
 
139
      <artifacts>{{ archive_artifacts }}</artifacts>
 
140
      <latestOnly>false</latestOnly>
 
141
    </hudson.tasks.ArtifactArchiver>
 
142
    {% endif %}
 
143
    {% if publish_coverage %}
 
144
    <hudson.plugins.cobertura.CoberturaPublisher>
 
145
      <coberturaReportFile>{{ publish_coverage }}</coberturaReportFile>
 
146
      <onlyStable>false</onlyStable>
 
147
      <healthyTarget>
 
148
        <targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
 
149
          <entry>
 
150
            <hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
 
151
            <int>70</int>
 
152
          </entry>
 
153
          <entry>
 
154
            <hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
 
155
            <int>80</int>
 
156
          </entry>
 
157
          <entry>
 
158
            <hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
 
159
            <int>80</int>
 
160
          </entry>
 
161
        </targets>
 
162
      </healthyTarget>
 
163
      <unhealthyTarget>
 
164
        <targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
 
165
          <entry>
 
166
            <hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
 
167
            <int>0</int>
 
168
          </entry>
 
169
          <entry>
 
170
            <hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
 
171
            <int>0</int>
 
172
          </entry>
 
173
          <entry>
 
174
            <hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
 
175
            <int>0</int>
 
176
          </entry>
 
177
        </targets>
 
178
      </unhealthyTarget>
 
179
      <failingTarget>
 
180
        <targets class="enum-map" enum-type="hudson.plugins.cobertura.targets.CoverageMetric">
 
181
          <entry>
 
182
            <hudson.plugins.cobertura.targets.CoverageMetric>CONDITIONAL</hudson.plugins.cobertura.targets.CoverageMetric>
 
183
            <int>0</int>
 
184
          </entry>
 
185
          <entry>
 
186
            <hudson.plugins.cobertura.targets.CoverageMetric>LINE</hudson.plugins.cobertura.targets.CoverageMetric>
 
187
            <int>0</int>
 
188
          </entry>
 
189
          <entry>
 
190
            <hudson.plugins.cobertura.targets.CoverageMetric>METHOD</hudson.plugins.cobertura.targets.CoverageMetric>
 
191
            <int>0</int>
 
192
          </entry>
 
193
        </targets>
 
194
      </failingTarget>
 
195
      <sourceEncoding>ASCII</sourceEncoding>
 
196
    </hudson.plugins.cobertura.CoberturaPublisher>
 
197
    {% endif %}
 
198
    {% if publish_junit %}
 
199
    <hudson.tasks.junit.JUnitResultArchiver>
 
200
      <testResults>{{ publish_junit }}</testResults>
 
201
      <keepLongStdio>false</keepLongStdio>
 
202
      <testDataPublishers/>
 
203
    </hudson.tasks.junit.JUnitResultArchiver>
 
204
    {% endif %}
 
205
{% endif %}
 
206
{% if contact_email %}
 
207
    <hudson.tasks.Mailer>
 
208
      <recipients>{{ contact_email }}</recipients>
 
209
      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
 
210
      <sendToIndividuals>false</sendToIndividuals>
 
211
    </hudson.tasks.Mailer>
 
212
{% endif %}
 
213
{% if irc_channel and irc_notification %}
 
214
    <hudson.plugins.ircbot.IrcPublisher>
 
215
      <targets>
 
216
        <hudson.plugins.im.GroupChatIMMessageTarget>
 
217
          <name>{{ irc_channel }}</name>
 
218
          <notificationOnly>true</notificationOnly>
 
219
        </hudson.plugins.im.GroupChatIMMessageTarget>
 
220
      </targets>
 
221
      <strategy>{{ irc_notification }}</strategy>
 
222
      <notifyOnBuildStart>false</notifyOnBuildStart>
 
223
      <notifySuspects>false</notifySuspects>
 
224
      <notifyCulprits>false</notifyCulprits>
 
225
      <notifyFixers>false</notifyFixers>
 
226
      <notifyUpstreamCommitters>false</notifyUpstreamCommitters>
 
227
      <buildToChatNotifier class="hudson.plugins.im.build_notify.DefaultBuildToChatNotifier"/>
 
228
      <matrixMultiplier>ONLY_CONFIGURATIONS</matrixMultiplier>
 
229
      <channels/>
 
230
    </hudson.plugins.ircbot.IrcPublisher>
 
231
{% endif %}
 
232
{% if publish %}
 
233
    <hudson.plugins.build__publisher.BuildPublisher>
 
234
      <publishUnstableBuilds>true</publishUnstableBuilds>
 
235
      <publishFailedBuilds>true</publishFailedBuilds>
 
236
      <postActions class="vector"/>
 
237
    </hudson.plugins.build__publisher.BuildPublisher>
 
238
{% endif %}
 
239
    <hudson.plugins.parameterizedtrigger.BuildTrigger>
 
240
      <configs>
 
241
{% if ppa_target and distributions %}
 
242
        <hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
 
243
          <configs>
 
244
            <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
 
245
              <properties>ppa_target=${ppa_target}
 
246
packaging_branch=${packaging_branch}
 
247
trunk=${target_branch}
 
248
distributions=${distributions}
 
249
version_string_format=${version_string_format}.${BUILD_NUMBER}
 
250
hook=${dput_hooks}</properties>
 
251
            </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
 
252
          </configs>
 
253
          <projects>generic-dput</projects>
 
254
          <condition>SUCCESS</condition>
 
255
          <triggerWithNoParameters>false</triggerWithNoParameters>
 
256
        </hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
 
257
{% endif %}
 
258
        <hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
 
259
          <configs>
 
260
            <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
 
261
              <properties>local_archive_host={{ local_archive_host }}
 
262
local_archive_login={{ local_archive_login }}
 
263
temp_dir={{ local_archive_tmp }}/${local_archive_name}/${project_name}.${BUILD_NUMBER}.rebuild</properties>
 
264
            </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
 
265
          </configs>
 
266
          <projects>generic-cleanup-mbs</projects>
 
267
          <condition>ALWAYS</condition>
 
268
          <triggerWithNoParameters>false</triggerWithNoParameters>
 
269
        </hudson.plugins.parameterizedtrigger.BuildTriggerConfig>
 
270
      </configs>
 
271
    </hudson.plugins.parameterizedtrigger.BuildTrigger>
 
272
  </publishers>
 
273
  <buildWrappers/>
 
274
</project>