Create jenkins pipeline for k6 performance tests
[infra/cicd.git] / jjb / onap / global-templates-onap-java.yaml
1 - job-template:
2     name: 'onap-{project-name}-{stream}-verify-java'
3     disabled_job_var: false
4     node: onap-ubuntu1804
5
6     disabled: '{obj:disabled_job_var}'
7     concurrent: true
8     mvn_settings_xml_version:
9     mvn_params:
10     mvn_version: 3.5.4
11     subdirectory:
12     properties:
13       - logrotate
14
15     parameters:
16       - project-parameters:
17           project: 'onap/{project}'
18           branch: '{branch}'
19       - nordix-gerrit-parameters
20       - string:
21           name: JAVA_HOME
22           default: '/usr/lib/jvm/{jdk-version}-openjdk-amd64'
23           description: Java home
24       - string:
25           name: MVN_VERSION
26           default: '{mvn_version}'
27           description: Maven version
28       - string:
29           name: MVN_URL
30           default: https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/$MVN_VERSION/apache-maven-${{MVN_VERSION}}-bin.zip
31           description: URL to download Maven
32       - string:
33           name: MVN
34           default: $WORKSPACE/apache-maven-${{MVN_VERSION}}/bin/mvn
35           description: Path to mvn executable
36       - string:
37           name: MVN_SETTINGS_XML_VERSION
38           default: '{mvn_settings_xml_version}'
39           description: Commit ID of ONAP Oparent repository (https://git.onap.org/oparent/) to pull. Used for Maven settings file. Can be left blank to pull the latest version.
40       - string:
41           name: MVN_PARAMS
42           default: '{mvn_params}'
43           description: Maven build parameters
44       - string:
45           name: SUBDIRECTORY
46           default: '{subdirectory}'
47           description: Subdirectory of the workspace for which the pom.xml will be called. This allows the verify to be called against a specific directory
48
49     scm:
50       - git-scm-gerrit:
51           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
52           branch: '{branch}'
53           refspec: $GERRIT_REFSPEC
54           wipe_workspace: true
55           clean_before: false
56
57     triggers:
58       - nordix-gerrit-trigger-patchset-created:
59           project: 'onap/{project}'
60           branch: '{branch}'
61           files: '**'
62
63     wrappers:
64       - build-timeout:
65           timeout: 45
66
67     builders:
68       - shell:
69           !include-raw-escape: ./verify-jobs.sh
70
71 # A job to perform CSIT on policy components
72 - job-template:
73     name: 'onap-{project-name}-{stream}-policy-csit-verify-java'
74     disabled_job_var: false
75     node: onap-ubuntu1804
76
77     disabled: '{obj:disabled_job_var}'
78     concurrent: true
79     mvn_settings_xml_version:
80     mvn_params:
81     mvn_version: 3.5.4
82     subdirectory:
83     properties:
84       - logrotate
85
86     parameters:
87       - project-parameters:
88           project: 'onap/{project}'
89           branch: '{branch}'
90       - nordix-gerrit-parameters
91       - string:
92           name: JAVA_HOME
93           default: '/usr/lib/jvm/{jdk-version}-openjdk-amd64'
94           description: Java home
95       - string:
96           name: MVN_VERSION
97           default: '{mvn_version}'
98           description: Maven version
99       - string:
100           name: MVN_URL
101           default: https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/$MVN_VERSION/apache-maven-${{MVN_VERSION}}-bin.zip
102           description: URL to download Maven
103       - string:
104           name: MVN
105           default: $WORKSPACE/apache-maven-${{MVN_VERSION}}/bin/mvn
106           description: Path to mvn executable
107       - string:
108           name: MVN_SETTINGS_XML_VERSION
109           default: '{mvn_settings_xml_version}'
110           description: Commit ID of ONAP Oparent repository (https://git.onap.org/oparent/) to pull. Used for Maven settings file. Can be left blank to pull the latest version.
111       - string:
112           name: MVN_PARAMS
113           default: '{mvn_params}'
114           description: Maven build parameters
115       - string:
116           name: CSIT_NAME
117           default: '{csit-name}'
118           description: The name of the csit-test to run
119       - string:
120           name: SUBDIRECTORY
121           default: '{subdirectory}'
122           description: Subdirectory of the workspace for which the pom.xml will be called. This allows the verify to be called against a specific directory
123
124     scm:
125       - git-scm-gerrit:
126           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
127           branch: '{branch}'
128           refspec: $GERRIT_REFSPEC
129           wipe_workspace: true
130           clean_before: false
131
132     triggers:
133       - nordix-gerrit-trigger-patchset-created:
134           project: 'onap/{project}'
135           branch: '{branch}'
136           files: '**'
137
138     wrappers:
139       - build-timeout:
140           timeout: 45
141
142     builders:
143       - shell:
144           !include-raw-escape: ./verify-jobs.sh
145       - shell:
146           !include-raw-escape: ./verify-policy-csit.sh
147
148 # A job to plot the result of cps performance test
149 - job-template:
150     name: 'onap-{project-name}-performance-tests-plots'
151     disabled_job_var: false
152     node: xerces-cps-hw
153     wipe_workspace: false
154
155     triggers:
156       - timed: '{timer}'
157
158     builders:
159       - shell:
160           !include-raw-escape: ./cps/prepare-performance-tests-data.sh
161
162     publishers:
163       - html-publisher:
164           name: "Performance Review"
165           dir: "."
166           files: "cpsStableTestsPerformanceReview.html,ncmpStableTestsPerformanceReview.html,cpsUnstableTestsPerformanceReview.html,ncmpUnstableTestsPerformanceReview.html"
167
168 # A job to trigger performance test which are based on K6 Framework on cps project
169 - job-template:
170     name: 'onap-{project-name}-performance-test-k6'
171     disabled_job_var: false
172     node: xerces-cps-hw
173     wipe_workspace: false
174
175     triggers:
176       - timed: '{timer}'
177
178     builders:
179       - shell:
180           !include-raw-escape: ./cps/k6-performance-tests-trigger.sh
181
182 # A job to perform performance test which are based on Spock-Groovy Framework on cps project
183 - job-template:
184     name: 'onap-{project-name}-{stream}-performance-test-java'
185     disabled_job_var: false
186     node: xerces-cps-hw
187
188     disabled: '{obj:disabled_job_var}'
189     concurrent: true
190     mvn_settings_xml_version:
191     mvn_params:
192     mvn_version: 3.5.4
193     subdirectory:
194     properties:
195       - logrotate
196
197     parameters:
198       - project-parameters:
199           project: 'onap/{project}'
200           branch: '{branch}'
201       - nordix-gerrit-parameters
202       - string:
203           name: JAVA_HOME
204           default: '/usr/lib/jvm/{jdk-version}-openjdk-amd64'
205           description: Java home
206       - string:
207           name: MVN_VERSION
208           default: '{mvn_version}'
209           description: Maven version
210       - string:
211           name: MVN_URL
212           default: https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/$MVN_VERSION/apache-maven-${{MVN_VERSION}}-bin.zip
213           description: URL to download Maven
214       - string:
215           name: MVN
216           default: $WORKSPACE/apache-maven-${{MVN_VERSION}}/bin/mvn
217           description: Path to mvn executable
218       - string:
219           name: MVN_SETTINGS_XML_VERSION
220           default: '{mvn_settings_xml_version}'
221           description: Commit ID of ONAP Oparent repository (https://git.onap.org/oparent/) to pull. Used for Maven settings file. Can be left blank to pull the latest version.
222       - string:
223           name: MVN_PARAMS
224           default: '{mvn_params}'
225           description: Maven build parameters
226       - string:
227           name: SUBDIRECTORY
228           default: '{subdirectory}'
229           description: Subdirectory of the workspace for which the pom.xml will be called. This allows the verify to be called against a specific directory
230
231     scm:
232       - git-scm:
233           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
234           branch: '{branch}'
235           refspec: ''
236           wipe_workspace: true
237           clean_before: false
238
239     triggers:
240       - timed: '{timer}'
241       - gerrit:
242           server-name: 'Nordix Gerrit'
243           trigger-on:
244             - comment-added-contains-event:
245                 comment-contains-value: 'performance-test'
246           projects:
247             - project-compare-type: 'ANT'
248               project-pattern: 'onap/{project}'
249               branches:
250                 - branch-compare-type: 'ANT'
251                   branch-pattern: '**/{branch}'
252               file-paths:
253                 - compare-type: 'ANT'
254                   pattern: '**'
255
256     wrappers:
257       - build-timeout:
258           timeout: 45
259
260     builders:
261       - shell:
262           !include-raw-escape: ./verify-jobs.sh
263
264 # csits for diferent projects are different so need to have special handling
265 - job-template:
266     name: 'onap-policy-docker-{stream}-csit-java'
267     disabled_job_var: false
268     node: onap-ubuntu1804
269
270     disabled: '{obj:disabled_job_var}'
271     concurrent: true
272     properties:
273       - logrotate
274
275     parameters:
276       - project-parameters:
277           project: 'onap/{project}'
278           branch: '{branch}'
279       - nordix-gerrit-parameters
280       - string:
281           name: JAVA_HOME
282           default: '/usr/lib/jvm/{jdk-version}-openjdk-amd64'
283           description: Java home
284       - string:
285           name: CSIT_TEST_NAMES
286           default: '{csit_test_names}'
287           description: The name of the csits test to run
288     scm:
289       - git-scm-gerrit:
290           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
291           branch: 'master'
292           refspec: $GERRIT_REFSPEC
293           wipe_workspace: true
294           clean_before: false
295
296     triggers:
297       - nordix-gerrit-trigger-patchset-created:
298           project: 'onap/{project}'
299           branch: '{branch}'
300           files: '**'
301
302     wrappers:
303       - build-timeout:
304           timeout: 45
305
306     builders:
307       - 'wait-pkg-mgr-macro'
308       - shell:
309           !include-raw-escape: ./policy-docker-csit-jobs.sh