ci-management update for New Delhi release
[ci-management.git] / jjb / integration / integration-templates-csit.yaml
1 ---
2 - job-template:
3     name: "{project-name}-{stream}-verify-csit-{functionality}"
4     disabled: false
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-py3
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: false
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       - reverse:
110           jobs: "{obj:trigger_jobs}"
111
112     builders:
113       - lf-infra-pre-build
114       - lf-update-java-alternatives:
115           java-version: "{java-version}"
116       - integration-install-robotframework-py3
117       - inject:
118           properties-file: "env.properties"
119       - integration-run-test
120
121     publishers:
122       - integration-robot:
123           unstable-if: 0.0
124           pass-if: 100.0
125       - lf-infra-publish
126       - email:
127           recipients: "{recipients}"
128           notify-every-unstable-build: false
129           send-to-individuals: true
130
131 - _verification_maven_job_boiler_plate: &verification_maven_job_boiler_plate
132     name: verification_maven_job_boiler_plate
133
134     ######################
135     # Default parameters #
136     ######################
137
138     branch: master
139     build-concurrent: false
140     build-days-to-keep: 30 # 30 days in case a release takes long to get approved.
141     build-node: ubuntu1804-docker-8c-8g
142     build-timeout: 60
143     container-public-registry: "nexus3.onap.org:10001"
144     git-url: "$GIT_URL/$PROJECT"
145     github-url: "https://github.com"
146     maven-versions-plugin: false
147     version-properties-file: version.properties
148     mvn-central: false
149     mvn-global-settings: global-settings
150     mvn-goals: clean deploy
151     mvn-opts: ""
152     mvn-pom: ""
153     mvn-version: mvn36
154     stream: master
155     submodule-recursive: true
156     submodule-timeout: 10
157     submodule-disable: false
158
159     disabled: false
160     archive-artifacts: >
161       **/*.log
162       **/hs_err_*.log
163       **/target/**/feature.xml
164       **/target/failsafe-reports/failsafe-summary.xml
165       **/target/surefire-reports/*-output.txt
166
167     project-type: freestyle
168     node: "{build-node}"
169     java-version: "openjdk11"
170
171     #####################
172     # Job Configuration #
173     #####################
174     concurrent: "{build-concurrent}"
175     properties:
176       - lf-infra-properties:
177           project: "{project}"
178           build-days-to-keep: "{build-days-to-keep}"
179     parameters:
180       - infra-parameters:
181           project: "{project}"
182           branch: "{branch}"
183           refspec: "refs/heads/{branch}"
184           artifacts: "{archive-artifacts}"
185       - lf-infra-maven-parameters:
186           mvn-opts: "{mvn-opts}"
187           mvn-params: "{mvn-params}"
188           mvn-version: "{mvn-version}"
189       - string:
190           name: ARCHIVE_ARTIFACTS
191           default: "{archive-artifacts}"
192           description: Artifacts to archive to the logs server.
193       - integration-test-options:
194           test-options: "{robot-options}"
195     wrappers:
196       - lf-infra-wrappers:
197           build-timeout: "{build-timeout}"
198           jenkins-ssh-credential: "{jenkins-ssh-credential}"
199     builders:
200       - lf-infra-pre-build
201       - lf-jacoco-nojava-workaround
202       - lf-maven-install:
203           mvn-version: "{mvn-version}"
204       - lf-update-java-alternatives:
205           java-version: "{java-version}"
206       - lf-infra-docker-login:
207           global-settings-file: "{mvn-global-settings}"
208           settings-file: "{mvn-settings}"
209       # must provide maven settings AFTER docker-login due to its cleanup
210       - lf-provide-maven-settings:
211           global-settings-file: "{mvn-global-settings}"
212           settings-file: "{mvn-settings}"
213       - lf-maven-versions-plugin:
214           maven-versions-plugin: "{maven-versions-plugin}"
215           version-properties-file: "{version-properties-file}"
216           mvn-version: "{mvn-version}"
217           mvn-pom: "{mvn-pom}"
218           mvn-settings: "{mvn-settings}"
219       - inject:
220           properties-content: |
221             CONTAINER_PULL_REGISTRY={container-public-registry}
222       - lf-maven-build:
223           mvn-goals: "{mvn-goals}"
224       - integration-install-robotframework-py3
225       - inject:
226           properties-file: "env.properties"
227       - integration-run-project-test
228       - lf-provide-maven-settings-cleanup
229     publishers:
230       - integration-project-robot:
231           unstable-if: 0.0
232           pass-if: 100.0
233       - lf-infra-publish
234       - email:
235           recipients: "{recipients}"
236           notify-every-unstable-build: false
237           send-to-individuals: true
238
239 - job-template:
240     # Job template for unified review verification jobs in
241     # project-specific CSIT flow for projects built with maven
242     #
243     # The purpose of this job template is to:
244     #  1. build local snapshot docker images with maven
245     #  2. run CSIT job with the local images
246     #  3. give a verify vote to the triggering review
247     #
248
249     name: "{project-name}-review-verification-maven-{stream}"
250
251     <<: *verification_maven_job_boiler_plate
252
253     scm:
254       - gerrit-trigger-scm:
255           refspec: "$GERRIT_REFSPEC"
256           choosing-strategy: "gerrit"
257           submodule-recursive: "{submodule-recursive}"
258     triggers:
259       - gerrit-trigger-patch-submitted:
260           server: "{server-name}"
261           project: "{project}"
262           branch: "{branch}"
263           files: "**"
264
265 - job-template:
266     # Job template for unified merge verification jobs in
267     # project-specific CSIT flow for projects built with maven
268     #
269     # The purpose of this job template is to:
270     #  1. build local snapshot docker images from master with maven
271     #  2. run CSIT job with the local images
272     #
273
274     name: "{project-name}-merge-verification-maven-{stream}"
275
276     <<: *verification_maven_job_boiler_plate
277
278     scm:
279       - gerrit-trigger-scm:
280           refspec: ""
281           choosing-strategy: "default"
282           submodule-recursive: "{submodule-recursive}"
283     triggers:
284       - gerrit-trigger-patch-merged:
285           server: "{server-name}"
286           project: "{project}"
287           branch: "{branch}"
288           files: "**"