Merge "Remove redundant unique-docker-tag parameter"
[ci-management.git] / jjb / integration / integration-templates-csit.yaml
1 ---
2 - job-template:
3     name: '{project-name}-{stream}-verify-csit-{functionality}'
4     disabled: '{disabled}'
5
6     project-type: freestyle
7     build-node: 'ubuntu1804-docker-8c-8g'
8     node: '{build-node}'
9     recipients: ''
10     java-version: 'openjdk11'
11     python-version: python3
12
13     properties:
14       - lf-infra-properties:
15           project: 'integration/csit'
16           build-days-to-keep: '{build-days-to-keep}'
17
18     parameters:
19       - infra-parameters:
20           project: 'integration/csit'
21           branch: '{branch}'
22           refspec: 'refs/heads/{branch}'
23           artifacts: '{archive-artifacts}'
24       - integration-test-plan:
25           test-plan: 'plans/{project-name}/{functionality}'
26       - integration-test-options:
27           test-options: '{robot-options}'
28
29     scm:
30       - gerrit-trigger-scm:
31           refspec: '$GERRIT_REFSPEC'
32           choosing-strategy: 'gerrit'
33           submodule-recursive: '{submodule-recursive}'
34
35     wrappers:
36       - lf-infra-wrappers:
37           build-timeout: '{build-timeout}'
38           jenkins-ssh-credential: '{jenkins-ssh-credential}'
39
40     triggers:
41       - gerrit-trigger-patch-submitted:
42           server: '{server-name}'
43           project: 'integration/csit'
44           branch: '{branch}'
45           files: '**/{project-name}/**'
46
47     builders:
48       - lf-update-java-alternatives:
49           java-version: '{java-version}'
50       - integration-install-robotframework
51       - inject:
52           properties-file: 'env.properties'
53       - integration-run-test
54
55     publishers:
56       - integration-robot:
57           unstable-if: 0.0
58           pass-if: 100.0
59       - lf-infra-publish
60       - email:
61           recipients: '{recipients}'
62           notify-every-unstable-build: false
63           send-to-individuals: true
64
65 - job-template:
66     name: '{project-name}-{stream}-csit-{functionality}'
67     disabled: '{disabled}'
68
69     project-type: freestyle
70     build-node: 'ubuntu1804-docker-8c-8g'
71     node: '{build-node}'
72     recipients: ''
73     java-version: 'openjdk11'
74     python-version: python3
75
76     properties:
77       - lf-infra-properties:
78           project: 'integration/csit'
79           build-days-to-keep: '{build-days-to-keep}'
80
81     parameters:
82       - infra-parameters:
83           project: 'integration/csit'
84           branch: '{branch}'
85           refspec: 'refs/heads/{branch}'
86           artifacts: '{archive-artifacts}'
87       - integration-test-plan:
88           test-plan: 'plans/{project-name}/{functionality}'
89       - integration-test-options:
90           test-options: '{robot-options}'
91
92     scm:
93       - gerrit-trigger-scm:
94           refspec: ''
95           choosing-strategy: 'default'
96           submodule-recursive: '{submodule-recursive}'
97
98     wrappers:
99       - lf-infra-wrappers:
100           build-timeout: '{build-timeout}'
101           jenkins-ssh-credential: '{jenkins-ssh-credential}'
102
103     triggers:
104       - gerrit-trigger-patch-merged:
105           server: '{server-name}'
106           project: 'integration/csit'
107           branch: '{branch}'
108           files: '**/{project-name}/**'
109       - timed: '@daily'
110       - reverse:
111           jobs: '{obj:trigger_jobs}'
112
113     builders:
114       - lf-infra-pre-build
115       - lf-update-java-alternatives:
116           java-version: '{java-version}'
117       - integration-install-robotframework
118       - inject:
119           properties-file: 'env.properties'
120       - integration-run-test
121
122     publishers:
123       - integration-robot:
124           unstable-if: 0.0
125           pass-if: 100.0
126       - lf-infra-publish
127       - email:
128           recipients: '{recipients}'
129           notify-every-unstable-build: false
130           send-to-individuals: true
131
132 - job-template:
133     # Job template for project-specific CSIT jobs
134     #
135     # The purpose of this job template is to execute
136     # project-specific CSIT test cases for docker image versions 
137     # identified by unique docker tag input parameter
138     #
139
140     name: '{project-name}-{stream}-project-csit'
141     disabled: '{disabled}'
142     project-type: freestyle
143     build-node: 'ubuntu1804-docker-8c-8g'
144     node: '{build-node}'
145     recipients: ''
146     java-version: 'openjdk11'
147     python-version: python3
148
149     properties:
150       - lf-infra-properties:
151           project: '{project}'
152           build-days-to-keep: '{build-days-to-keep}'
153
154     parameters:
155       - infra-parameters:
156           project: '{project}'
157           branch: '{branch}'
158           refspec: 'refs/heads/{branch}'
159           artifacts: '{archive-artifacts}'
160       - integration-test-options:
161           test-options: '{robot-options}'
162
163     scm:
164       - gerrit-trigger-scm:
165           refspec: '$GERRIT_REFSPEC'
166           choosing-strategy: 'gerrit'
167           submodule-recursive: '{submodule-recursive}'
168
169     wrappers:
170       - lf-infra-wrappers:
171           build-timeout: '{build-timeout}'
172           jenkins-ssh-credential: '{jenkins-ssh-credential}'
173
174     builders:
175       - lf-infra-pre-build
176       - lf-update-java-alternatives:
177           java-version: '{java-version}'
178       - integration-install-robotframework
179       - inject:
180           properties-file: 'env.properties'
181       - integration-run-project-test
182
183     publishers:
184       - integration-project-robot:
185           unstable-if: 0.0
186           pass-if: 100.0
187       - lf-infra-publish
188       - email:
189           recipients: '{recipients}'
190           notify-every-unstable-build: false
191           send-to-individuals: true
192
193 - job-template:
194     # Job template for unified review verification jobs in
195     # project-specific CSIT flow for projects built with maven
196     #
197     # The purpose of this job template is to:
198     #  1. build local snapshot docker images with maven
199     #  2. run CSIT job with the local images
200     #  3. give a verify vote to the triggering review
201     #
202
203     name: '{project-name}-review-verification-maven-{stream}'
204
205     ######################
206     # Default parameters #
207     ######################
208
209     branch: master
210     build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
211     build-timeout: 60
212     disable-job: false
213     git-url: "$GIT_URL/$PROJECT"
214     github-url: "https://github.com"
215     maven-versions-plugin: false
216     version-properties-file: version.properties
217     mvn-central: false
218     mvn-global-settings: global-settings
219     mvn-goals: clean deploy
220     mvn-opts: ""
221     mvn-params: ""
222     maven-version: mvn36
223     ossrh-profile-id: ""
224     mvn-pom: ""
225     stream: master
226     submodule-recursive: true
227     submodule-timeout: 10
228     submodule-disable: false
229
230     disabled: '{disabled}'
231     archive-artifacts: >
232       **/*.log
233       **/hs_err_*.log
234       **/target/**/feature.xml
235       **/target/failsafe-reports/failsafe-summary.xml
236       **/target/surefire-reports/*-output.txt
237
238     project-type: freestyle
239     node: '{build-node}'
240     java-version: 'openjdk11'
241
242     properties:
243       - lf-infra-properties:
244           project: '{project}'
245           build-days-to-keep: '{build-days-to-keep}'
246     parameters:
247       - infra-parameters:
248           project: '{project}'
249           branch: '{branch}'
250           refspec: 'refs/heads/{branch}'
251           artifacts: '{archive-artifacts}'
252       - lf-infra-maven-parameters:
253           mvn-opts: "{mvn-opts}"
254           mvn-params: "{mvn-params}"
255           mvn-version: "{mvn-version}"
256       - maven-exec:
257           maven-version: '{maven-version}'
258       - maven-params:
259           mvn-params: '{mvn-params}'
260       - string:
261           name: ARCHIVE_ARTIFACTS
262           default: "{archive-artifacts}"
263           description: Artifacts to archive to the logs server.
264       - integration-test-options:
265           test-options: '{robot-options}'
266
267     scm:
268       - gerrit-trigger-scm:
269           refspec: '$GERRIT_REFSPEC'
270           choosing-strategy: 'gerrit'
271           submodule-recursive: '{submodule-recursive}'
272
273     wrappers:
274       - lf-infra-wrappers:
275           build-timeout: '{build-timeout}'
276           jenkins-ssh-credential: '{jenkins-ssh-credential}'
277     builders:
278       - lf-infra-pre-build
279       - lf-jacoco-nojava-workaround
280       - lf-maven-install:
281           mvn-version: "{mvn-version}"
282       - lf-update-java-alternatives:
283           java-version: "{java-version}"
284       - lf-infra-docker-login:
285           global-settings-file: "{mvn-global-settings}"
286           settings-file: "{mvn-settings}"
287       # must provide maven settings AFTER docker-login due to its cleanup
288       - lf-provide-maven-settings:
289           global-settings-file: "{mvn-global-settings}"
290           settings-file: "{mvn-settings}"
291       - lf-maven-versions-plugin:
292           maven-versions-plugin: "{maven-versions-plugin}"
293           version-properties-file: "{version-properties-file}"
294           mvn-version: "{mvn-version}"
295           mvn-pom: "{mvn-pom}"
296           mvn-settings: "{mvn-settings}"
297       - inject:
298           properties-content: |
299             CONTAINER_PULL_REGISTRY={container-public-registry}
300             CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
301       - lf-maven-build:
302           mvn-goals: "{mvn-goals}"
303       - integration-install-robotframework
304       - inject:
305           properties-file: 'env.properties'
306       - integration-run-project-test
307       - lf-provide-maven-settings-cleanup
308
309     triggers:
310       - gerrit-trigger-patch-submitted:
311           server: '{server-name}'
312           project: '{project}'
313           branch: '{branch}'
314           files: '**'
315     publishers:
316       - lf-infra-publish
317
318 - job-template:
319     # Job template for unified merge verification jobs in
320     # project-specific CSIT flow for projects built with maven
321     #
322     # The purpose of this job template is to:
323     #  1. build local snapshot docker images from master with maven
324     #  2. run CSIT job with the local images
325     #
326
327     name: '{project-name}-merge-verification-maven-{stream}'
328
329     ######################
330     # Default parameters #
331     ######################
332
333     branch: master
334     build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
335     build-timeout: 60
336     disable-job: false
337     git-url: "$GIT_URL/$PROJECT"
338     github-url: "https://github.com"
339     maven-versions-plugin: false
340     version-properties-file: version.properties
341     mvn-central: false
342     mvn-global-settings: global-settings
343     mvn-goals: clean deploy
344     mvn-opts: ""
345     mvn-params: ""
346     maven-version: mvn36
347     ossrh-profile-id: ""
348     mvn-pom: ""
349     sign-artifacts: false
350     sign-mode: serial
351     stream: master
352     submodule-recursive: true
353     submodule-timeout: 10
354     submodule-disable: false
355
356     disabled: '{disabled}'
357     archive-artifacts: >
358       **/*.log
359       **/hs_err_*.log
360       **/target/**/feature.xml
361       **/target/failsafe-reports/failsafe-summary.xml
362       **/target/surefire-reports/*-output.txt
363     project-type: freestyle
364     node: '{build-node}'
365     java-version: 'openjdk11'
366
367     properties:
368       - lf-infra-properties:
369           project: '{project}'
370           build-days-to-keep: '{build-days-to-keep}'
371     parameters:
372       - infra-parameters:
373           project: '{project}'
374           branch: '{branch}'
375           refspec: 'refs/heads/{branch}'
376           artifacts: '{archive-artifacts}'
377       - lf-infra-maven-parameters:
378           mvn-opts: "{mvn-opts}"
379           mvn-params: "{mvn-params}"
380           mvn-version: "{mvn-version}"
381       - maven-exec:
382           maven-version: '{maven-version}'
383       - maven-params:
384           mvn-params: '{mvn-params}'
385       - string:
386           name: ARCHIVE_ARTIFACTS
387           default: "{archive-artifacts}"
388           description: Artifacts to archive to the logs server.
389       - integration-test-options:
390           test-options: '{robot-options}'
391
392     scm:
393       - gerrit-trigger-scm:
394           refspec: ''
395           choosing-strategy: 'default'
396           submodule-recursive: '{submodule-recursive}'
397
398     wrappers:
399       - lf-infra-wrappers:
400           build-timeout: '{build-timeout}'
401           jenkins-ssh-credential: '{jenkins-ssh-credential}'
402     builders:
403       - lf-infra-pre-build
404       - lf-jacoco-nojava-workaround
405       - lf-maven-install:
406           mvn-version: "{mvn-version}"
407       - lf-update-java-alternatives:
408           java-version: "{java-version}"
409       - lf-infra-docker-login:
410           global-settings-file: "{mvn-global-settings}"
411           settings-file: "{mvn-settings}"
412       # must provide maven settings AFTER docker-login due to its cleanup
413       - lf-provide-maven-settings:
414           global-settings-file: "{mvn-global-settings}"
415           settings-file: "{mvn-settings}"
416       - lf-maven-versions-plugin:
417           maven-versions-plugin: "{maven-versions-plugin}"
418           version-properties-file: "{version-properties-file}"
419           mvn-version: "{mvn-version}"
420           mvn-pom: "{mvn-pom}"
421           mvn-settings: "{mvn-settings}"
422       - inject:
423           properties-content: |
424             CONTAINER_PULL_REGISTRY={container-public-registry}
425             CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
426       - lf-maven-build:
427           mvn-goals: "{mvn-goals}"
428       - integration-install-robotframework
429       - inject:
430           properties-file: 'env.properties'
431       - integration-run-project-test
432       - lf-provide-maven-settings-cleanup
433
434     triggers:
435       - gerrit-trigger-patch-merged:
436           server: '{server-name}'
437           project: '{project}'
438           branch: '{branch}'
439           files: '**'
440     publishers:
441       - lf-infra-publish