Merge "Skip docker for clm job of ccsdk/oran repo"
[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       - integration-unique-docker-tag:
163           unique-docker-tag: ''
164
165     scm:
166       - gerrit-trigger-scm:
167           refspec: '$GERRIT_REFSPEC'
168           choosing-strategy: 'gerrit'
169           submodule-recursive: '{submodule-recursive}'
170
171     wrappers:
172       - lf-infra-wrappers:
173           build-timeout: '{build-timeout}'
174           jenkins-ssh-credential: '{jenkins-ssh-credential}'
175
176     builders:
177       - lf-infra-pre-build
178       - lf-update-java-alternatives:
179           java-version: '{java-version}'
180       - integration-install-robotframework
181       - inject:
182           properties-file: 'env.properties'
183       - integration-run-project-test
184
185     publishers:
186       - integration-project-robot:
187           unstable-if: 0.0
188           pass-if: 100.0
189       - lf-infra-publish
190       - email:
191           recipients: '{recipients}'
192           notify-every-unstable-build: false
193           send-to-individuals: true
194
195 - job-template:
196     # Job template for unified review verification jobs in
197     # project-specific CSIT flow for projects built with maven
198     #
199     # The purpose of this job template is to:
200     #  1. build local snapshot docker images with maven
201     #  2. run CSIT job with the local images
202     #  3. give a verify vote to the triggering review
203     #
204
205     name: '{project-name}-review-verification-maven-{stream}'
206
207     ######################
208     # Default parameters #
209     ######################
210
211     branch: master
212     build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
213     build-timeout: 60
214     disable-job: false
215     git-url: "$GIT_URL/$PROJECT"
216     github-url: "https://github.com"
217     maven-versions-plugin: false
218     version-properties-file: version.properties
219     mvn-central: false
220     mvn-global-settings: global-settings
221     mvn-goals: clean deploy
222     mvn-opts: ""
223     mvn-params: ""
224     maven-version: mvn36
225     ossrh-profile-id: ""
226     mvn-pom: ""
227     stream: master
228     submodule-recursive: true
229     submodule-timeout: 10
230     submodule-disable: false
231
232     disabled: '{disabled}'
233     archive-artifacts: >
234       **/*.log
235       **/hs_err_*.log
236       **/target/**/feature.xml
237       **/target/failsafe-reports/failsafe-summary.xml
238       **/target/surefire-reports/*-output.txt
239
240     project-type: freestyle
241     node: '{build-node}'
242     java-version: 'openjdk11'
243
244     properties:
245       - lf-infra-properties:
246           project: '{project}'
247           build-days-to-keep: '{build-days-to-keep}'
248     parameters:
249       - infra-parameters:
250           project: '{project}'
251           branch: '{branch}'
252           refspec: 'refs/heads/{branch}'
253           artifacts: '{archive-artifacts}'
254       - lf-infra-maven-parameters:
255           mvn-opts: "{mvn-opts}"
256           mvn-params: "{mvn-params}"
257           mvn-version: "{mvn-version}"
258       - maven-exec:
259           maven-version: '{maven-version}'
260       - maven-params:
261           mvn-params: '{mvn-params}'
262       - string:
263           name: ARCHIVE_ARTIFACTS
264           default: "{archive-artifacts}"
265           description: Artifacts to archive to the logs server.
266       - integration-test-options:
267           test-options: '{robot-options}'
268
269     scm:
270       - gerrit-trigger-scm:
271           refspec: '$GERRIT_REFSPEC'
272           choosing-strategy: 'gerrit'
273           submodule-recursive: '{submodule-recursive}'
274
275     wrappers:
276       - lf-infra-wrappers:
277           build-timeout: '{build-timeout}'
278           jenkins-ssh-credential: '{jenkins-ssh-credential}'
279     builders:
280       - lf-infra-pre-build
281       - lf-jacoco-nojava-workaround
282       - lf-maven-install:
283           mvn-version: "{mvn-version}"
284       - lf-update-java-alternatives:
285           java-version: "{java-version}"
286       - lf-infra-docker-login:
287           global-settings-file: "{mvn-global-settings}"
288           settings-file: "{mvn-settings}"
289       # must provide maven settings AFTER docker-login due to its cleanup
290       - lf-provide-maven-settings:
291           global-settings-file: "{mvn-global-settings}"
292           settings-file: "{mvn-settings}"
293       - lf-maven-versions-plugin:
294           maven-versions-plugin: "{maven-versions-plugin}"
295           version-properties-file: "{version-properties-file}"
296           mvn-version: "{mvn-version}"
297           mvn-pom: "{mvn-pom}"
298           mvn-settings: "{mvn-settings}"
299       - inject:
300           properties-content: |
301             CONTAINER_PULL_REGISTRY={container-public-registry}
302             CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
303       - lf-maven-build:
304           mvn-goals: "{mvn-goals}"
305       - integration-install-robotframework
306       - inject:
307           properties-file: 'env.properties'
308       - integration-run-project-test
309       - lf-provide-maven-settings-cleanup
310
311     triggers:
312       - gerrit-trigger-patch-submitted:
313           server: '{server-name}'
314           project: '{project}'
315           branch: '{branch}'
316           files: '**'
317     publishers:
318       - lf-infra-publish
319
320 - job-template:
321     # Job template for unified merge verification jobs in
322     # project-specific CSIT flow for projects built with maven
323     #
324     # The purpose of this job template is to:
325     #  1. build local snapshot docker images from master with maven
326     #  2. run CSIT job with the local images
327     #
328
329     name: '{project-name}-merge-verification-maven-{stream}'
330
331     ######################
332     # Default parameters #
333     ######################
334
335     branch: master
336     build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
337     build-timeout: 60
338     disable-job: false
339     git-url: "$GIT_URL/$PROJECT"
340     github-url: "https://github.com"
341     maven-versions-plugin: false
342     version-properties-file: version.properties
343     mvn-central: false
344     mvn-global-settings: global-settings
345     mvn-goals: clean deploy
346     mvn-opts: ""
347     mvn-params: ""
348     maven-version: mvn36
349     ossrh-profile-id: ""
350     mvn-pom: ""
351     sign-artifacts: false
352     sign-mode: serial
353     stream: master
354     submodule-recursive: true
355     submodule-timeout: 10
356     submodule-disable: false
357
358     disabled: '{disabled}'
359     archive-artifacts: >
360       **/*.log
361       **/hs_err_*.log
362       **/target/**/feature.xml
363       **/target/failsafe-reports/failsafe-summary.xml
364       **/target/surefire-reports/*-output.txt
365     project-type: freestyle
366     node: '{build-node}'
367     java-version: 'openjdk11'
368
369     properties:
370       - lf-infra-properties:
371           project: '{project}'
372           build-days-to-keep: '{build-days-to-keep}'
373     parameters:
374       - infra-parameters:
375           project: '{project}'
376           branch: '{branch}'
377           refspec: 'refs/heads/{branch}'
378           artifacts: '{archive-artifacts}'
379       - lf-infra-maven-parameters:
380           mvn-opts: "{mvn-opts}"
381           mvn-params: "{mvn-params}"
382           mvn-version: "{mvn-version}"
383       - maven-exec:
384           maven-version: '{maven-version}'
385       - maven-params:
386           mvn-params: '{mvn-params}'
387       - string:
388           name: ARCHIVE_ARTIFACTS
389           default: "{archive-artifacts}"
390           description: Artifacts to archive to the logs server.
391       - integration-test-options:
392           test-options: '{robot-options}'
393
394     scm:
395       - gerrit-trigger-scm:
396           refspec: ''
397           choosing-strategy: 'default'
398           submodule-recursive: '{submodule-recursive}'
399
400     wrappers:
401       - lf-infra-wrappers:
402           build-timeout: '{build-timeout}'
403           jenkins-ssh-credential: '{jenkins-ssh-credential}'
404     builders:
405       - lf-infra-pre-build
406       - lf-jacoco-nojava-workaround
407       - lf-maven-install:
408           mvn-version: "{mvn-version}"
409       - lf-update-java-alternatives:
410           java-version: "{java-version}"
411       - lf-infra-docker-login:
412           global-settings-file: "{mvn-global-settings}"
413           settings-file: "{mvn-settings}"
414       # must provide maven settings AFTER docker-login due to its cleanup
415       - lf-provide-maven-settings:
416           global-settings-file: "{mvn-global-settings}"
417           settings-file: "{mvn-settings}"
418       - lf-maven-versions-plugin:
419           maven-versions-plugin: "{maven-versions-plugin}"
420           version-properties-file: "{version-properties-file}"
421           mvn-version: "{mvn-version}"
422           mvn-pom: "{mvn-pom}"
423           mvn-settings: "{mvn-settings}"
424       - inject:
425           properties-content: |
426             CONTAINER_PULL_REGISTRY={container-public-registry}
427             CONTAINER_PUSH_REGISTRY={container-snapshot-registry}
428       - lf-maven-build:
429           mvn-goals: "{mvn-goals}"
430       - integration-install-robotframework
431       - inject:
432           properties-file: 'env.properties'
433       - integration-run-project-test
434       - lf-provide-maven-settings-cleanup
435
436     triggers:
437       - gerrit-trigger-patch-merged:
438           server: '{server-name}'
439           project: '{project}'
440           branch: '{branch}'
441           files: '**'
442     publishers:
443       - lf-infra-publish
444
445 - job-template:
446     # Job template for review verification jobs in 
447     # project-specific CSIT flow
448     #
449     # The purpose of this job template is to:
450     #  1. trigger snapshot docker build job
451     #  2. trigger CSIT job
452     #  3. give a verify vote to the triggering review
453     #
454
455     name: '{project-name}-review-verification-{stream}'
456     disabled: '{disabled}'
457     project-type: freestyle
458     build-node: 'ubuntu1804-docker-8c-8g'
459     java-version: 'openjdk11'
460
461     properties:
462       - lf-infra-properties:
463           project: '{project}'
464           build-days-to-keep: '{build-days-to-keep}'
465     parameters:
466       - infra-parameters:
467           project: '{project}'
468           branch: '{branch}'
469           refspec: 'refs/heads/{branch}'
470           artifacts: '{archive-artifacts}'
471     scm:
472       - gerrit-trigger-scm:
473           refspec: '$GERRIT_REFSPEC'
474           choosing-strategy: 'gerrit'
475           submodule-recursive: '{submodule-recursive}'
476     wrappers:
477       - lf-infra-wrappers:
478           build-timeout: '{build-timeout}'
479           jenkins-ssh-credential: '{jenkins-ssh-credential}'
480     builders:
481       - lf-infra-pre-build
482       - lf-maven-install:
483           mvn-version: "{mvn-version}"
484       - lf-update-java-alternatives:
485           java-version: "{java-version}"
486       - lf-provide-maven-settings:
487           global-settings-file: "{mvn-global-settings}"
488           settings-file: "{mvn-settings}"
489       - trigger-builds:
490          -  project: "{project-name}-{stream}-{artifact-type}-docker-snapshot"
491             predefined-parameters: |
492               UNIQUE_DOCKER_TAG=$BUILD_TAG
493               PROJECT=$PROJECT
494               BRANCH=$BRANCH
495               GERRIT_REFSPEC=$GERRIT_REFSPEC
496             block: true
497       - trigger-builds:
498          -  project: "{project-name}-{stream}-project-csit"
499             predefined-parameters: |
500               UNIQUE_DOCKER_TAG=$BUILD_TAG
501               PROJECT=$PROJECT
502               BRANCH=$BRANCH
503               GERRIT_REFSPEC=$GERRIT_REFSPEC
504             block: true
505     triggers:
506       - gerrit-trigger-patch-submitted:
507           server: '{server-name}'
508           project: '{project}'
509           branch: '{branch}'
510           files: '**'
511     publishers:
512       - lf-infra-publish
513
514 - job-template:
515     # Job template for merge verification jobs in 
516     # project-specific CSIT flow
517     #
518     # The purpose of this job template is to trigger
519     # the following jobs in sequence:
520     #  1. snapshot docker build job
521     #  2. CSIT job
522     #  3. docker staging job
523     #
524
525     name: '{project-name}-merge-verification-{stream}'
526     disabled: '{disabled}'
527     project-type: freestyle
528     build-node: 'ubuntu1804-docker-8c-8g'
529     java-version: 'openjdk11'
530
531     properties:
532       - lf-infra-properties:
533           project: '{project}'
534           build-days-to-keep: '{build-days-to-keep}'
535     parameters:
536       - infra-parameters:
537           project: '{project}'
538           branch: '{branch}'
539           refspec: 'refs/heads/{branch}'
540           artifacts: '{archive-artifacts}'
541     scm:
542       - gerrit-trigger-scm:
543           refspec: ''
544           choosing-strategy: 'default'
545           submodule-recursive: '{submodule-recursive}'
546     wrappers:
547       - lf-infra-wrappers:
548           build-timeout: '{build-timeout}'
549           jenkins-ssh-credential: '{jenkins-ssh-credential}'
550     builders:
551       - lf-infra-pre-build
552       - lf-maven-install:
553           mvn-version: "{mvn-version}"
554       - lf-update-java-alternatives:
555           java-version: "{java-version}"
556       - lf-provide-maven-settings:
557           global-settings-file: "{mvn-global-settings}"
558           settings-file: "{mvn-settings}"
559       - trigger-builds:
560          -  project: "{project-name}-{stream}-{artifact-type}-docker-snapshot"
561             predefined-parameters: |
562               UNIQUE_DOCKER_TAG=$BUILD_TAG
563               PROJECT=$PROJECT
564               BRANCH=$BRANCH
565               GERRIT_REFSPEC=$GERRIT_REFSPEC
566             block: true
567       - trigger-builds:
568          -  project: "{project-name}-{stream}-project-csit"
569             predefined-parameters: |
570               UNIQUE_DOCKER_TAG=$BUILD_TAG
571               PROJECT=$PROJECT
572               BRANCH=$BRANCH
573               GERRIT_REFSPEC=$GERRIT_REFSPEC
574             block: true
575       - trigger-builds:
576          -  project: "{project-name}-{stream}-docker-staging"
577             predefined-parameters: |
578               UNIQUE_DOCKER_TAG=$BUILD_TAG
579               PROJECT=$PROJECT
580               BRANCH=$BRANCH
581               GERRIT_REFSPEC=$GERRIT_REFSPEC
582             block: true
583     triggers:
584       - gerrit-trigger-patch-merged:
585           server: '{server-name}'
586           project: '{project}'
587           branch: '{branch}'
588           files: '**'
589     publishers:
590       - lf-infra-publish
591