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