Improve formatting of trigger list to be more maintainable
[releng/builder.git] / jjb / integration / integration-jobs.yaml
1
2 - project:
3     name: integration-jobs
4     jobs:
5         - 'integration-csit-verify-{stream}'
6         - 'integration-distribution-verify-{stream}'
7         - 'integration-distribution-merge-{stream}'
8         - 'integration-distribution-offline-{stream}'
9         - 'integration-distribution-test-{stream}'
10         - 'integration-patch-test-{stream}'
11
12     stream:
13         - master:
14             branch: 'master'
15             csit-list: >
16                 aaa-csit-1node-cds-authn-only-{stream},
17                 aaa-csit-1node-cds-authn-all-{stream},
18                 bgpcep-csit-1node-cds-userfeatures-only-{stream},
19                 bgpcep-csit-1node-cds-userfeatures-all-{stream},
20                 capwap-csit-1node-cds-ac-only-{stream},
21                 capwap-csit-1node-cds-ac-all-{stream},
22                 controller-csit-1node-cds-netconf-only-{stream},
23                 controller-csit-1node-cds-netconf-all-{stream},
24                 integration-csit-3node-cds-basic-only-{stream},
25                 integration-csit-3node-cds-basic-all-{stream},
26                 integration-distribution-offline-{stream},
27                 l2switch-csit-1node-cds-switch-only-{stream},
28                 l2switch-csit-1node-cds-switch-all-{stream},
29                 l2switch-csit-1node-cds-scalability-only-{stream},
30                 l2switch-csit-1node-cds-scalability-all-{stream},
31                 lispflowmapping-csit-1node-cds-all-only-{stream},
32                 lispflowmapping-csit-1node-cds-all-all-{stream},
33                 openflowplugin-csit-1node-cds-flow-services-only-{stream},
34                 openflowplugin-csit-1node-cds-flow-services-all-{stream},
35                 openflowplugin-csit-1node-cds-flow-services-more-only-{stream},
36                 openflowplugin-csit-1node-cds-flow-services-more-all-{stream},
37                 openflowplugin-csit-1node-cds-scalability-only-{stream},
38                 openflowplugin-csit-1node-cds-scalability-all-{stream},
39                 openflowplugin-csit-1node-cds-cbench-performance-only-{stream},
40                 openflowplugin-csit-1node-cds-config-performance-only-{stream},
41                 ovsdb-csit-1node-cds-southbound-only-{stream},
42                 ovsdb-csit-1node-cds-southbound-all-{stream},
43                 snmp-csit-1node-cds-basic-only-{stream},
44                 snmp-csit-1node-cds-basic-all-{stream},
45                 tsdr-csit-1node-cds-h2-datastore-only-{stream},
46                 tsdr-csit-1node-cds-h2-datastore-all-{stream},
47                 tsdr-csit-1node-cds-hbase-datastore-only-{stream},
48                 tsdr-csit-1node-cds-hbase-datastore-all-{stream},
49                 usc-csit-1node-cds-channel-only-{stream},
50                 usc-csit-1node-cds-channel-all-{stream},
51                 vpnservice-csit-1node-cds-vpnservice-only-{stream},
52                 vpnservice-csit-1node-cds-vpnservice-all-{stream},
53                 vtn-csit-1node-cds-manager-only-{stream},
54                 vtn-csit-1node-cds-manager-all-{stream},
55
56         - stable-lithium:
57             branch: 'stable/lithium'
58             csit-list: >
59                 aaa-csit-1node-cds-authn-only-{stream},
60                 aaa-csit-1node-cds-authn-all-{stream},
61                 bgpcep-csit-1node-cds-userfeatures-only-{stream},
62                 bgpcep-csit-1node-cds-userfeatures-all-{stream},
63                 capwap-csit-1node-cds-ac-only-{stream},
64                 capwap-csit-1node-cds-ac-all-{stream},
65                 controller-csit-1node-cds-netconf-only-{stream},
66                 controller-csit-1node-cds-netconf-all-{stream},
67                 integration-csit-3node-cds-basic-only-{stream},
68                 integration-csit-3node-cds-basic-all-{stream},
69                 integration-distribution-offline-{stream},
70                 l2switch-csit-1node-cds-switch-only-{stream},
71                 l2switch-csit-1node-cds-switch-all-{stream},
72                 l2switch-csit-1node-cds-scalability-only-{stream},
73                 l2switch-csit-1node-cds-scalability-all-{stream},
74                 lispflowmapping-csit-1node-cds-all-only-{stream},
75                 lispflowmapping-csit-1node-cds-all-all-{stream},
76                 openflowplugin-csit-1node-cds-flow-services-only-{stream},
77                 openflowplugin-csit-1node-cds-flow-services-all-{stream},
78                 openflowplugin-csit-1node-cds-flow-services-more-only-{stream},
79                 openflowplugin-csit-1node-cds-flow-services-more-all-{stream},
80                 openflowplugin-csit-1node-cds-scalability-only-{stream},
81                 openflowplugin-csit-1node-cds-scalability-all-{stream},
82                 openflowplugin-csit-1node-cds-cbench-performance-only-{stream},
83                 openflowplugin-csit-1node-cds-config-performance-only-{stream},
84                 ovsdb-csit-1node-cds-southbound-only-{stream},
85                 ovsdb-csit-1node-cds-southbound-all-{stream},
86                 snmp-csit-1node-cds-basic-only-{stream},
87                 snmp-csit-1node-cds-basic-all-{stream},
88                 usc-csit-1node-cds-channel-only-{stream},
89                 usc-csit-1node-cds-channel-all-{stream},
90                 vpnservice-csit-1node-cds-vpnservice-only-{stream},
91                 vpnservice-csit-1node-cds-vpnservice-all-{stream},
92                 vtn-csit-1node-cds-manager-only-{stream},
93                 vtn-csit-1node-cds-manager-all-{stream},
94
95         - stable-helium:
96             branch: 'stable/helium'
97             csit-list: >
98                 aaa-csit-1node-imds-authn-only-{stream},
99                 aaa-csit-1node-imds-authn-all-{stream},
100                 controller-csit-1node-imds-netconf-only-{stream},
101                 controller-csit-1node-imds-netconf-all-{stream},
102                 controller-csit-1node-imds-nsf-only-{stream},
103                 controller-csit-1node-imds-nsf-all-{stream},
104                 integration-csit-3node-cds-basic-only-{stream},
105                 integration-csit-3node-cds-basic-all-{stream},
106                 integration-distribution-offline-{stream},
107                 l2switch-csit-1node-imds-switch-only-{stream},
108                 l2switch-csit-1node-imds-switch-all-{stream},
109                 lispflowmapping-csit-1node-imds-all-only-{stream},
110                 lispflowmapping-csit-1node-imds-all-all-{stream},
111                 openflowplugin-csit-1node-imds-flow-services-only-{stream},
112                 openflowplugin-csit-1node-imds-flow-services-all-{stream},
113                 vtn-csit-1node-imds-manager-only-{stream},
114                 vtn-csit-1node-imds-manager-all-{stream},
115
116     jdk: 'openjdk7'
117
118     # Trigger jobs (upstream dependencies)
119     trigger-jobs: >
120         odlparent-distribution-{stream},
121         yangtools-distribution-{stream},
122         controller-distribution-{stream},
123         aaa-distribution-{stream},
124         integration-distribution-merge-{stream},
125
126 - job-template:
127     name: 'integration-csit-verify-{stream}'
128
129     project-type: freestyle
130     node: dynamic_robot
131
132     logrotate:
133         daysToKeep: '{build-days-to-keep}'
134         numToKeep: '{build-num-to-keep}'
135         artifactDaysToKeep: '{build-artifact-days-to-keep}'
136         artifactNumToKeep: '{build-artifact-num-to-keep}'
137
138     parameters:
139         - project-parameter:
140             project: 'integration'
141         - integration-branch:
142             branch: '{branch}'
143         - integration-bundleurl:
144             bundleurl: 'last'
145         - integration-controller-scope:
146             controller-scope: 'only'
147         - integration-controller-features:
148             controller-features: 'odl-openflowplugin-flow-services-ui'
149         - integration-test-options:
150             test-options: '-e adsal'
151         - integration-test-plan:
152             test-plan: 'openflowplugin-flow-services.txt'
153
154     scm:
155         - gerrit-trigger-scm:
156             credentials-id: '{ssh-credentials}'
157             refspec: '$GERRIT_REFSPEC'
158             choosing-strategy: 'gerrit'
159
160     wrappers:
161         - build-timeout
162         - integration-jclouds-controller-mininet:
163             controller-vms: 1
164             mininet-image: '{mininet-image}'
165             mininet-vms: '{mininet-vms}'
166         - ssh-agent-credentials:
167             users:
168                 - '{ssh-credentials}'
169
170     triggers:
171         - integration-csit-gerrit-trigger-patch-submitted:
172             name: 'integration'
173             branch: '{branch}'
174
175     builders:
176         - integration-get-slave-addresses
177         - inject:
178             properties-file: 'slave_addresses.txt'
179         - integration-deploy-controller-run-test
180
181     publishers:
182         - integration-robot:
183             unstable-if: 0.0
184             pass-if: 0.0
185         - archive:
186             artifacts: 'karaf.log'
187         - email-notification:
188             email-prefix: '[integration]'
189
190 - job-template:
191     name: 'integration-distribution-verify-{stream}'
192
193     project-type: maven
194     node: dynamic_verify
195     concurrent: true
196     jdk: '{jdk}'
197
198     logrotate:
199         daysToKeep: '{build-days-to-keep}'
200         numToKeep: '{build-num-to-keep}'
201         artifactDaysToKeep: '{build-artifact-days-to-keep}'
202         artifactNumToKeep: '{build-artifact-num-to-keep}'
203
204     parameters:
205         - project-parameter:
206             project: 'integration'
207         - gerrit-parameter:
208             branch: '{branch}'
209
210     scm:
211         - gerrit-trigger-scm:
212             credentials-id: '{ssh-credentials}'
213             refspec: '$GERRIT_REFSPEC'
214             choosing-strategy: 'gerrit'
215
216     wrappers:
217         - build-timeout
218         - ssh-agent-credentials:
219             users:
220                 - '{ssh-credentials}'
221
222     triggers:
223         - integration-distribution-gerrit-trigger-patch-submitted:
224             name: 'integration'
225             branch: '{branch}'
226
227     prebuilders:
228         - wipe-org-opendaylight-repo
229
230     maven:
231         maven-name: '{mvn32}'
232         root-pom: 'pom.xml'
233         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
234         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
235         settings: '{integration-settings}'
236         global-settings: '{odl-global-settings}'
237         ignore-upstream-changes: true
238
239     publishers:
240         - email-notification:
241             email-prefix: '[integration]'
242
243 - job-template:
244     name: 'integration-distribution-merge-{stream}'
245
246     project-type: maven
247     node: dynamic_merge
248     jdk: '{jdk}'
249
250     logrotate:
251         daysToKeep: '{build-days-to-keep}'
252         numToKeep: '{build-num-to-keep}'
253         artifactDaysToKeep: '{build-artifact-days-to-keep}'
254         artifactNumToKeep: '{build-artifact-num-to-keep}'
255
256     parameters:
257         - project-parameter:
258             project: 'integration'
259
260     scm:
261         - gerrit-trigger-scm:
262             credentials-id: '{ssh-credentials}'
263             refspec: ''
264             choosing-strategy: 'default'
265
266     wrappers:
267         - build-timeout
268         - ssh-agent-credentials:
269             users:
270                 - '{ssh-credentials}'
271
272     triggers:
273         - integration-distribution-gerrit-trigger-patch-merged:
274             name: 'integration'
275             branch: '{branch}'
276
277     prebuilders:
278         - wipe-org-opendaylight-repo
279
280     maven:
281         maven-name: '{mvn32}'
282         root-pom: 'pom.xml'
283         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r  source:jar javadoc:jar'
284         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
285         settings: '{integration-settings}'
286         global-settings: '{odl-global-settings}'
287
288     publishers:
289         - email-notification:
290             email-prefix: '[integration]'
291         - maven-deploy:
292             id: ''
293             unique-version: true
294             deploy-unstable: false
295
296 - job-template:
297     name: 'integration-distribution-offline-{stream}'
298
299     project-type: freestyle
300     node: dynamic_controller
301
302     logrotate:
303         daysToKeep: '{build-days-to-keep}'
304         numToKeep: '{build-num-to-keep}'
305         artifactDaysToKeep: '{build-artifact-days-to-keep}'
306         artifactNumToKeep: '{build-artifact-num-to-keep}'
307
308     parameters:
309         - project-parameter:
310             project: 'integration'
311         - integration-branch:
312             branch: '{branch}'
313         - integration-bundleurl:
314             bundleurl: 'last'
315
316     scm:
317         - git-scm:
318             credentials-id: '{ssh-credentials}'
319             refspec: ''
320             branch: '{branch}'
321
322     wrappers:
323         - build-timeout
324         - ssh-agent-credentials:
325             users:
326                 - '{ssh-credentials}'
327
328     triggers:
329         - reverse:
330             jobs: '{trigger-jobs}'
331             result: 'success'
332
333     builders:
334         - integration-deploy-controller-offline
335
336     publishers:
337         - archive:
338             artifacts: 'karaf.log'
339         - email-notification:
340             email-prefix: '[integration]'
341
342 - job-template:
343     name: 'integration-distribution-test-{stream}'
344
345     project-type: freestyle
346     node: dynamic_controller
347
348     logrotate:
349         daysToKeep: '{build-days-to-keep}'
350         numToKeep: '{build-num-to-keep}'
351         artifactDaysToKeep: '{build-artifact-days-to-keep}'
352         artifactNumToKeep: '{build-artifact-num-to-keep}'
353
354     parameters:
355         - integration-bundleurl:
356             bundleurl: 'last'
357
358     triggers:
359         - timed: 'H H * * *'
360
361     builders:
362         - trigger-builds:
363             - project: '{csit-list}'
364               block: true
365               predefined-parameters:
366                   BUNDLEURL=$BUNDLEURL
367
368     publishers:
369         - email-notification:
370             email-prefix: '[integration]'
371
372 - job-template:
373     name: 'integration-patch-test-{stream}'
374
375     project-type: maven
376     node: dynamic_verify
377     jdk: '{jdk}'
378
379     logrotate:
380         daysToKeep: '{build-days-to-keep}'
381         numToKeep: '{build-num-to-keep}'
382         artifactDaysToKeep: '{build-artifact-days-to-keep}'
383         artifactNumToKeep: '{build-artifact-num-to-keep}'
384
385     parameters:
386         - project-parameter:
387             project: 'integration'
388         - integration-patch-git-url
389
390     scm:
391         - integration-gerrit-scm:
392             credentials-id: '{ssh-credentials}'
393             branch: '{branch}'
394         - integration-git-scm:
395             credentials-id: '{ssh-credentials}'
396             branch: '{branch}'
397
398     wrappers:
399         - build-timeout
400         - ssh-agent-credentials:
401             users:
402                 - '{ssh-credentials}'
403
404     triggers:
405         - gerrit:
406             server-name: 'OpenDaylight'
407             trigger-on:
408                 - comment-added-contains-event:
409                     comment-contains-value: 'test-integration'
410             projects:
411               - project-compare-type: 'ANT'
412                 project-pattern: '**'
413                 branches:
414                   - branch-compare-type: 'ANT'
415                     branch-pattern: '**/{branch}'
416             skip-vote:
417                 successful: true
418                 failed: true
419                 unstable: true
420                 notbuilt: true
421
422     prebuilders:
423         - integration-get-bundle-url
424         - inject:
425             properties-file: 'bundle.txt'
426         - wipe-org-opendaylight-repo
427         - maven-target:
428             maven-version: '{mvn32}'
429             pom: '$GERRIT_PROJECT/pom.xml'
430             goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
431             java-opts:
432                 - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
433             settings: '{integration-settings}'
434             global-settings: '{odl-global-settings}'
435
436     maven:
437         maven-name: '{mvn32}'
438         root-pom: 'integration/pom.xml'
439         goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
440         maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
441         settings: '{integration-settings}'
442         global-settings: '{odl-global-settings}'
443         ignore-upstream-changes: true
444
445     postbuilders:
446         - trigger-builds:
447             - project: 'integration-distribution-test-{stream}'
448               block: true
449               predefined-parameters:
450                   BUNDLEURL=$BUNDLEURL
451
452     publishers:
453         - email-notification:
454             email-prefix: '[integration]'
455