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