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