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