Remove all references to -XX:MaxPermSize
[releng/builder.git] / jjb / integration / distribution / distribution-templates.yaml
1 ---
2 - job-template:
3     name: '{project-name}-distribution-check-{stream}'
4
5     ######################
6     # Default parameters #
7     ######################
8
9     java-version: openjdk8
10     mvn-version: mvn35
11     csit-gate-list: ''
12     block_on_csit: false
13     # Unless block_on_csit is true, the failure-threshold will be ignored. For project jobs that
14     # want to fail distribution check on csit jobs, they will only need a list of jobs to run
15     # plus the change of block_on_csit to true, and this failure-threshold: 'UNSTABLE' will take
16     # effect
17     failure-threshold: 'UNSTABLE'
18     disable-job: false
19
20     #####################
21     # Job Configuration #
22     #####################
23
24     # Operation: This job template builds a patch, creates a distribution containing
25     #            the patch (making sure dependencies are specified),
26     #            and performs the distribution deploy test.
27     disabled: '{disable-job}'
28
29     project-type: freestyle
30     node: 'centos7-builder-8c-8g'
31     concurrent: true
32     jdk: '{java-version}'
33
34     properties:
35       - opendaylight-infra-properties:
36           build-days-to-keep: '{build-days-to-keep}'
37
38     parameters:
39       - opendaylight-infra-parameters:
40           os-cloud: '{os-cloud}'
41           project: '{project}'
42           branch: '{branch}'
43           refspec: 'refs/heads/{branch}'
44           artifacts: '{archive-artifacts}'
45       - integration-distribution-stream:
46           stream: '{stream}'
47       - integration-distribution-git-url:
48           git-url: '{git-url}'
49       - distribution-karaf-version:
50           karaf-version: '{karaf-version}'
51       - maven-exec:
52           maven-version: '{mvn-version}'
53
54     scm:
55       - integration-gerrit-scm:
56           basedir: '$GERRIT_PROJECT'
57           refspec: '$GERRIT_REFSPEC'
58           branch: '{branch}'
59       - integration-distribution-scm:
60           branch: '{distribution_branch}'
61
62     wrappers:
63       - opendaylight-infra-wrappers:
64           # Distro-check jobs typically run within 10 - 30 minutes
65           # with 45 minutes being the occassional edge case.
66           # enforce a 60 minute limit to ensure stuck jobs get
67           # cleared up sooner.
68           # Double that as Karaf 3+4 may take longer.
69           build-timeout: '120'
70
71     triggers:
72       - gerrit-trigger-patch-submitted:
73           gerrit-server-name: '{gerrit-server-name}'
74           project: '{project}'
75           branch: '{branch}'
76           files: '**'
77           forbidden-files: ''
78
79     builders:
80       - distribution-check-wipe
81       - inject:
82           properties-file: 'allowed_projects.txt'
83       - distribution-check-build-project:
84           pom: '$GERRIT_PROJECT/pom.xml'
85           mvn-opts: '{opendaylight-infra-mvn-opts}'
86           mvn-version: '{mvn-version}'
87           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
88       - distribution-check-verify-groupid:
89           gerrit-project: '$GERRIT_PROJECT'
90       - distribution-check-download-deps:
91           dist-pom: 'distribution/pom.xml'
92           mvn-opts: '{opendaylight-infra-mvn-opts}'
93           mvn-version: '{mvn-version}'
94           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
95       - distribution-check-delete-snapshots
96       - distribution-check-configure-remotes
97       - distribution-check-repeat-project-build:
98           pom: '$GERRIT_PROJECT/pom.xml'
99           mvn-opts: '{opendaylight-infra-mvn-opts}'
100           mvn-version: '{mvn-version}'
101           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
102       - distribution-check-repeat-distro-build:
103           dist-pom: 'distribution/pom.xml'
104           mvn-opts: '{opendaylight-infra-mvn-opts}'
105           mvn-version: '{mvn-version}'
106           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
107       - integration-set-variables
108       - distribution-check-warn-9191
109       - distribution-check-warn-9192
110       - integration-upload-distribution:
111           dist-pom: distribution/pom.xml
112       - distribution-check-bootup
113
114       - trigger-builds:
115           - project: '{csit-gate-list}'
116             block: '{obj:block_on_csit}'
117             block-thresholds:
118               failure-threshold: '{failure-threshold}'
119             predefined-parameters: |
120               BUNDLE_URL=$BUNDLE_URL
121               KARAF_VERSION=$KARAF_VERSION
122
123     publishers:
124       - email-notification:
125           email-recipients: '{email-recipients}'
126           email-prefix: '[{project-name}]'
127       - integration-csit-archive-build
128       - lf-infra-publish
129
130 - job-template:
131     name: 'distribution-verify-{type}-{stream}'
132
133     disable-job: 'false'
134
135     project-type: freestyle
136     node: centos7-builder-8c-8g
137     concurrent: true
138     jdk: '{java-version}'
139     disabled: '{disable-job}'
140
141     properties:
142       - opendaylight-infra-properties:
143           build-days-to-keep: '{build-days-to-keep}'
144
145     parameters:
146       - opendaylight-infra-parameters:
147           os-cloud: '{os-cloud}'
148           project: '{project}'
149           branch: '{branch}'
150           refspec: 'refs/heads/{branch}'
151           artifacts: '{archive-artifacts}'
152
153     scm:
154       - gerrit-trigger-scm:
155           refspec: '$GERRIT_REFSPEC'
156           choosing-strategy: 'gerrit'
157
158     wrappers:
159       - opendaylight-infra-wrappers:
160           build-timeout: '{build-timeout}'
161
162     triggers:
163       - gerrit-trigger-patch-submitted:
164           gerrit-server-name: '{gerrit-server-name}'
165           project: '{project}'
166           branch: '{branch}'
167           files: '{files}'
168           forbidden-files: '{forbidden-files}'
169
170     builders:
171       - wipe-org-opendaylight-repo
172       - lf-provide-maven-settings:
173           global-settings-file: 'global-settings'
174           settings-file: 'integration-settings'
175       - maven-target:
176           maven-version: mvn35
177           pom: pom.xml
178           goals: |
179               clean install dependency:tree -DoutputFile=dependency_tree.txt
180               -Dstream={stream}
181               -Dsft.heap.max=4g
182               {opendaylight-infra-mvn-opts}
183               {profile}
184           # {opendaylight-infra-parallel-mvn-opts} is bad when there are multiple big features in SFT.
185           java-opts:
186             - '-Xmx1024m'
187           settings: integration-settings
188           settings-type: cfp
189           global-settings: global-settings
190           global-settings-type: cfp
191
192     publishers:
193       - findbugs
194       - lf-jacoco-report
195       - lf-infra-publish
196       - email-notification:
197           email-recipients: '{email-recipients}'
198           email-prefix: '[{project-name}]'
199
200 - job-template:
201     name: 'distribution-merge-{type}-{stream}'
202
203     # Need to keep jobs that deploy to Nexus at end of build as Maven
204     # projects. Maybe reconsider this once upstream moves deploy to a
205     # separate lifecycle:
206     #     https://issues.apache.org/jira/browse/MNG-5666
207
208     disable-job: false
209
210     project-type: maven
211     node: 'centos7-builder-8c-8g'
212     jdk: '{java-version}'
213     disabled: '{disable-job}'
214
215     properties:
216       - opendaylight-infra-properties:
217           build-days-to-keep: '{build-days-to-keep}'
218
219     parameters:
220       - opendaylight-infra-parameters:
221           os-cloud: '{os-cloud}'
222           project: '{project}'
223           branch: '{branch}'
224           refspec: 'refs/heads/{branch}'
225           artifacts: '{archive-artifacts}'
226       - distribution-karaf-version:
227           karaf-version: '{karaf-version}'
228
229     scm:
230       - gerrit-trigger-scm:
231           refspec: ''
232           choosing-strategy: 'default'
233
234     wrappers:
235       - opendaylight-infra-wrappers:
236           build-timeout: '{build-timeout}'
237
238     triggers:
239       - gerrit-trigger-patch-merged:
240           gerrit-server-name: '{gerrit-server-name}'
241           name: '{project}'
242           branch: '{branch}'
243           files: '{files}'
244           forbidden-files: '{forbidden-files}'
245       - reverse:
246           jobs: '{dependencies}'
247
248     prebuilders:
249       - wipe-org-opendaylight-repo
250       - lf-jacoco-nojava-workaround
251       - lf-provide-maven-settings:
252           global-settings-file: 'global-settings'
253           settings-file: 'integration-settings'
254       - integration-set-variables
255       - distribute-build-url:
256           path: '$KARAF_ARTIFACT/src/main/assembly'
257
258     maven:
259       maven-name: 'mvn35'
260       root-pom: 'pom.xml'
261       goals: >
262           clean install dependency:tree -DoutputFile=dependency_tree.txt -V -B
263           -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
264           -Dsft.heap.max=4g
265           -Djenkins -Dmerge -Dstream={stream}
266           {profile}
267       maven-opts: '-Xmx1024m'
268       settings: integration-settings
269       settings-type: cfp
270       global-settings: global-settings
271       global-settings-type: cfp
272
273     postbuilders:
274       - integration-compare-distributions
275     # TODO: the output of the above command is not *friendly* for the reader because the most important info
276     # is listed last. This is fine/best for command line output, but for keeping in a file it would be better
277     # to put the summary at the beginning of the file. Some bash magic can be done here to make that happen.
278
279     reporters:
280       - findbugs
281
282     publishers:
283       - maven-deploy:
284           id: ''
285           unique-version: true
286           deploy-unstable: false
287       - lf-jacoco-report
288       - lf-infra-publish
289       - email-notification:
290           email-recipients: '{email-recipients}'
291           email-prefix: '[{project-name}]'
292
293 - job-template:
294     name: 'distribution-check-{type}-{stream}'
295
296     ######################
297     # Default parameters #
298     ######################
299     disable-job: false
300     mvn-version: mvn35
301
302     #####################
303     # Job Configuration #
304     #####################
305
306     # Like a {project}-distribution-check, but few steps less as there is no upstream project involved.
307     disabled: '{disable-job}'
308
309     project-type: freestyle
310     node: 'centos7-builder-8c-8g'
311     concurrent: true
312     jdk: '{java-version}'
313
314     properties:
315       - opendaylight-infra-properties:
316           build-days-to-keep: '{build-days-to-keep}'
317
318     parameters:
319       - opendaylight-infra-parameters:
320           os-cloud: '{os-cloud}'
321           project: '{project}'
322           branch: '{branch}'
323           refspec: 'refs/heads/{branch}'
324           artifacts: '{archive-artifacts}'
325       - integration-distribution-stream:
326           stream: '{stream}'
327       - distribution-karaf-version:
328           karaf-version: '{karaf-version}'
329       - maven-exec:
330           maven-version: mvn35
331
332     scm:
333       - integration-gerrit-scm:
334           basedir: 'distribution'
335           refspec: '$GERRIT_REFSPEC'
336           branch: '{branch}'
337
338     wrappers:
339       - opendaylight-infra-wrappers:
340           # Distro-check jobs typically run within 10 - 30 minutes
341           # with 45 minutes being the occassional edge case.
342           # enforce a 60 minute limit to ensure stuck jobs get
343           # cleared up sooner.
344           # Double that as Karaf 3+4 may take longer.
345           build-timeout: '120'
346
347     triggers:
348       - gerrit-trigger-patch-submitted:
349           gerrit-server-name: '{gerrit-server-name}'
350           project: '{project}'
351           branch: '{branch}'
352           files: '{files}'
353           forbidden-files: '{forbidden-files}'
354
355     builders:
356       - distribution-check-wipe
357       - inject:
358           properties-file: 'allowed_projects.txt'
359       - distribution-check-build-project:
360           pom: 'distribution/pom.xml'
361           mvn-opts: |
362               {opendaylight-infra-mvn-opts}
363               {profile}
364           mvn-version: '{mvn-version}'
365           # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
366       - distribution-check-verify-groupid:
367           gerrit-project: 'integration'
368       - distribution-check-delete-snapshots
369       - distribution-check-configure-remotes
370       - distribution-check-repeat-project-build:
371           pom: 'distribution/pom.xml'
372           mvn-opts: |
373               {opendaylight-infra-mvn-opts}
374               {profile}
375           mvn-version: '{mvn-version}'
376           # '{opendaylight-infra-parallel-mvn-opts}' is bad when there are multiple big features in SFT.
377       - integration-set-variables
378       - distribution-check-warn-9191
379       - distribution-check-warn-9192
380       - integration-upload-distribution:
381           dist-pom: '{dist-pom}'
382       - distribution-check-bootup
383
384     publishers:
385       - email-notification:
386           email-recipients: '{email-recipients}'
387           email-prefix: '[{project-name}]'
388       - integration-csit-archive-build
389       - lf-infra-publish
390
391 - job-template:
392     name: 'distribution-sanity-{stream}'
393     # Goal: Verify distribution starts with no issues when all features are loaded.
394     # Operation: This job deploys odl-integration-all + list of UM features.
395     # This job works for both managed & self-managed distro.
396
397     project-type: freestyle
398     node: centos7-builder-2c-8g
399     concurrent: false
400
401     properties:
402       - opendaylight-infra-properties:
403           build-days-to-keep: '{build-days-to-keep}'
404
405     parameters:
406       - opendaylight-infra-parameters:
407           os-cloud: '{os-cloud}'
408           project: '{project}'
409           branch: '{branch}'
410           refspec: 'refs/heads/{branch}'
411           artifacts: '{archive-artifacts}'
412       - integration-distribution-stream:
413           stream: '{stream}'
414       - integration-distribution-branch:
415           branch: '{branch}'
416       - integration-bundle-url:
417           bundle-url: '{bundle-url}'
418       - integration-repo-url:
419           repo-url: '{sm-repos}'
420       - integration-controller-parameters:
421           controller-features: '{sm-features}'
422           # Parameters below are unused in this job so set them all to blank
423           controller-debug-map: ''
424           controller-scope: ''
425           controller-use-features-boot: ''
426       - integration-jdk-version:
427           jdkversion: '{jre}'
428       - distribution-karaf-version:
429           karaf-version: '{karaf-version}'
430
431     wrappers:
432       - opendaylight-infra-wrappers:
433           build-timeout: '{build-timeout}'
434
435     builders:
436       - integration-detect-variables
437       - distribution-check-bootup
438
439     publishers:
440       - email-notification:
441           email-recipients: '{email-recipients}'
442           email-prefix: '[{project-name}]'
443       - integration-csit-archive-build
444       - lf-infra-publish
445
446 - job-template:
447     name: 'distribution-csit-managed-{stream}'
448     # Goal: Verify distribution starts with no issues when all features are loaded.
449     # Operation: This job deploys odl-integration-all.
450     # This job works for just managed distro.
451
452     disable-job: false
453
454     project-type: freestyle
455     node: centos7-builder-4c-4g
456     concurrent: false
457     disabled: '{disable-job}'
458
459     properties:
460       - opendaylight-infra-properties:
461           build-days-to-keep: '{build-days-to-keep}'
462
463     parameters:
464       - opendaylight-infra-parameters:
465           os-cloud: '{os-cloud}'
466           project: '{project}'
467           branch: '{branch}'
468           refspec: 'refs/heads/{branch}'
469           artifacts: '{archive-artifacts}'
470       - integration-distribution-stream:
471           stream: '{stream}'
472       - integration-distribution-branch:
473           branch: '{branch}'
474       - integration-bundle-url:
475           bundle-url: '{bundle-url}'
476       - integration-jdk-version:
477           jdkversion: '{jre}'
478       - distribution-karaf-version:
479           karaf-version: 'karaf4'
480
481     wrappers:
482       - opendaylight-infra-wrappers:
483           build-timeout: '{build-timeout}'
484
485     builders:
486       - integration-detect-variables
487       - distribution-check-bootup
488
489     publishers:
490       - email-notification:
491           email-recipients: '{email-recipients}'
492           email-prefix: '[{project-name}]'
493       - integration-csit-archive-build
494       - lf-infra-publish