ad8c016d0667f8ab3c0787e4e6e31126f72bf85b
[ci-management.git] / jjb / csit / csit.yaml
1 # Copyright (c) 2020 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 ---
15 - project:
16     name: csit
17     description: 'CSIT Jenkins jobs.'
18
19     jobs:
20       - 'csit-docs-merge-{stream}'
21       - 'csit-report-merge-{stream}'
22       - 'csit-trending-daily-master'
23       - 'csit-trending-weekly-2009-lts'
24
25     project: 'csit'
26     branch: 'master'
27     executor: 'ubuntu1804-us'
28     executor-large: 'ubuntu1804-l'
29     build-artifact-num-to-keep: 10
30     stream:
31       - master:
32           branch: 'master'
33       - '1908_2':
34           branch: 'rls1908_2'
35       - '2005':
36           branch: 'rls2005'
37       - '2009':
38           branch: 'rls2009'
39       - '2009_lts':
40           branch: 'rls2009_lts'
41
42 - project:
43     name: csit-view
44     views:
45       - project-view
46     project-name: csit
47
48 - job-template:
49     name: 'csit-docs-merge-{stream}'
50
51     project-type: freestyle
52     node: '{executor}'
53     concurrent: true
54     allow-empty: 'true'
55     fingerprint: false
56     only-if-success: true
57     default-excludes: false
58
59     build-discarder:
60       daysToKeep: '{build-days-to-keep}'
61       numToKeep: '{build-num-to-keep}'
62       artifactDaysToKeep: '{build-artifact-days-to-keep}'
63       artifactNumToKeep: '{build-artifact-num-to-keep}'
64
65     parameters:
66       - project-parameter:
67           project: '{project}'
68       - gerrit-parameter:
69           branch: '{branch}'
70       - maven-exec:
71           maven-version: 'mvn33-new'
72       - string:
73           name: ARCHIVE_ARTIFACTS
74           default: '{archive-artifacts}'
75           description: Artifacts to archive to the logs server.
76
77     scm:
78       - gerrit-trigger-scm:
79           credentials-id: 'jenkins-gerrit-credentials'
80           refspec: ''
81           choosing-strategy: 'default'
82
83     wrappers:
84       - fdio-infra-wrappers-non-activity-timeout:
85           build-timeout: '{build-timeout}'
86
87     triggers:
88       - reverse:
89           jobs: 'csit-vpp-device-{stream}-ubuntu1804-1n-skx-weekly'
90           result: 'success'
91       - gerrit:
92           server-name: 'Primary'
93           trigger-on:
94             - comment-added-contains-event:
95                 comment-contains-value: 'run-docs'
96           projects:
97             - project-compare-type: 'ANT'
98               project-pattern: '{project}'
99               branches:
100                 - branch-compare-type: 'ANT'
101                   branch-pattern: '**/{branch}'
102           skip-vote:
103             successful: true
104             failed: true
105             unstable: true
106             notbuilt: true
107
108     builders:
109       - maven-target:
110           maven-version: 'mvn33-new'
111           goals: '--version'
112           settings: 'csit-settings'
113           settings-type: cfp
114           global-settings: 'global-settings'
115           global-settings-type: cfp
116       - provide-maven-settings:
117           settings-file: 'csit-settings'
118           global-settings-file: 'global-settings'
119       - shell:
120           !include-raw-escape:
121           - ../scripts/setup_executor_env.sh
122       - shell:
123           !include-raw-escape:
124           - ../scripts/csit/docs.sh
125
126     publishers:
127       - fdio-infra-shiplogs:
128           maven-version: 'mvn33-new'
129
130 - job-template:
131     name: 'csit-report-merge-{stream}'
132
133     project-type: freestyle
134     node: '{executor-large}'
135     concurrent: false
136     allow-empty: 'true'
137     fingerprint: false
138     only-if-success: true
139     default-excludes: false
140
141     build-discarder:
142       daysToKeep: '{build-days-to-keep}'
143       numToKeep: '{build-num-to-keep}'
144       artifactDaysToKeep: '{build-artifact-days-to-keep}'
145       artifactNumToKeep: '{build-artifact-num-to-keep}'
146
147     parameters:
148       - project-parameter:
149           project: '{project}'
150       - gerrit-parameter:
151           branch: '{branch}'
152       - maven-exec:
153           maven-version: 'mvn33-new'
154       - string:
155           name: ARCHIVE_ARTIFACTS
156           default: '{archive-artifacts}'
157           description: Artifacts to archive to the logs server.
158
159     scm:
160       - gerrit-trigger-scm:
161           credentials-id: 'jenkins-gerrit-credentials'
162           refspec: '$GERRIT_REFSPEC'
163           choosing-strategy: 'default'
164
165     wrappers:
166       - fdio-infra-wrappers-non-activity-timeout:
167           build-timeout: '{build-timeout}'
168
169     triggers:
170       - gerrit:
171           server-name: 'Primary'
172           trigger-on:
173             - comment-added-contains-event:
174                 comment-contains-value: 'run-report'
175           projects:
176             - project-compare-type: 'ANT'
177               project-pattern: '{project}'
178               branches:
179                 - branch-compare-type: 'ANT'
180                   branch-pattern: '**/{branch}'
181           skip-vote:
182             successful: true
183             failed: true
184             unstable: true
185             notbuilt: true
186
187     builders:
188       - maven-target:
189           maven-version: 'mvn33-new'
190           goals: '--version'
191           settings: 'csit-settings'
192           settings-type: cfp
193           global-settings: 'global-settings'
194           global-settings-type: cfp
195       - provide-maven-settings:
196           settings-file: 'csit-settings'
197           global-settings-file: 'global-settings'
198       - shell:
199           !include-raw-escape:
200           - ../scripts/setup_executor_env.sh
201       - shell:
202           !include-raw-escape:
203           - ../scripts/csit/report.sh
204
205     publishers:
206       - fdio-infra-shiplogs:
207           maven-version: 'mvn33-new'
208
209 - job-template:
210     name: 'csit-trending-daily-master'
211
212     project-type: freestyle
213     node: '{executor-large}'
214     concurrent: false
215
216     build-discarder:
217       daysToKeep: '{build-days-to-keep}'
218       numToKeep: '{build-num-to-keep}'
219       artifactDaysToKeep: '{build-artifact-days-to-keep}'
220       artifactNumToKeep: '{build-artifact-num-to-keep}'
221
222     parameters:
223       - project-parameter:
224           project: '{project}'
225       - gerrit-parameter:
226           branch: '{branch}'
227       - maven-exec:
228           maven-version: 'mvn33-new'
229
230     scm:
231       - gerrit-trigger-scm:
232           credentials-id: 'jenkins-gerrit-credentials'
233           refspec: ''
234           choosing-strategy: 'default'
235
236     wrappers:
237       - fdio-infra-wrappers-non-activity-timeout:
238           build-timeout: '{build-timeout}'
239
240     triggers:
241       - timed: '0 2,14 * * *'
242
243     builders:
244       - maven-target:
245           maven-version: 'mvn33-new'
246           goals: '--version'
247           settings: 'csit-settings'
248           settings-type: cfp
249           global-settings: 'global-settings'
250           global-settings-type: cfp
251       - provide-maven-settings:
252           settings-file: 'csit-settings'
253           global-settings-file: 'global-settings'
254       - shell:
255           !include-raw-escape:
256           - ../scripts/setup_executor_env.sh
257       - shell:
258           !include-raw-escape:
259           - ../scripts/csit/cpta.sh
260
261     publishers:
262       - email-ext:
263           # yamllint disable-line rule:line-length
264           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
265           reply-to: ''
266           content-type: 'text'
267           subject: 'Failed tests as of  $BUILD_TIMESTAMP'
268           # yamllint disable-line rule:line-length
269           body: |
270                 Following tests failed in the last trending job runs, listed per testbed type.
271
272                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-failed-tests.txt"}}
273
274           always: true
275           failure: false
276
277       - email-ext:
278           # yamllint disable-line rule:line-length
279           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
280           reply-to: ''
281           content-type: 'text'
282           subject: 'Regressions as of  $BUILD_TIMESTAMP'
283           # yamllint disable-line rule:line-length
284           body: |
285                 Following regressions occured in the last trending job runs, listed per testbed type.
286
287                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-regressions.txt"}}
288
289           always: true
290           failure: false
291
292       - email-ext:
293           # yamllint disable-line rule:line-length
294           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
295           reply-to: ''
296           content-type: 'text'
297           subject: 'Progressions as of  $BUILD_TIMESTAMP'
298           # yamllint disable-line rule:line-length
299           body: |
300                 Following progressions occured in the last trending job runs, listed per testbed type.
301
302                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-progressions.txt"}}
303
304           always: true
305           failure: false
306
307       - fdio-infra-shiplogs:
308           maven-version: 'mvn33-new'
309
310 - job-template:
311     name: 'csit-trending-weekly-2009-lts'
312
313     project-type: freestyle
314     node: '{executor-large}'
315     concurrent: false
316
317     build-discarder:
318       daysToKeep: '{build-days-to-keep}'
319       numToKeep: '{build-num-to-keep}'
320       artifactDaysToKeep: '{build-artifact-days-to-keep}'
321       artifactNumToKeep: '{build-artifact-num-to-keep}'
322
323     parameters:
324       - project-parameter:
325           project: '{project}'
326       - gerrit-parameter:
327           branch: 'rls2009_lts'
328       - maven-exec:
329           maven-version: 'mvn33-new'
330
331     scm:
332       - gerrit-trigger-scm:
333           credentials-id: 'jenkins-gerrit-credentials'
334           refspec: ''
335           choosing-strategy: 'default'
336
337     wrappers:
338       - fdio-infra-wrappers-non-activity-timeout:
339           build-timeout: '{build-timeout}'
340
341     triggers:
342       - timed: '0 0 * * 1'
343
344     builders:
345       - maven-target:
346           maven-version: 'mvn33-new'
347           goals: '--version'
348           settings: 'csit-settings'
349           settings-type: cfp
350           global-settings: 'global-settings'
351           global-settings-type: cfp
352       - provide-maven-settings:
353           settings-file: 'csit-settings'
354           global-settings-file: 'global-settings'
355       - shell:
356           !include-raw-escape:
357           - ../scripts/setup_executor_env.sh
358       - shell:
359           !include-raw-escape:
360           - ../scripts/csit/cpta.sh
361
362     publishers:
363       - email-ext:
364           # yamllint disable-line rule:line-length
365           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
366           reply-to: ''
367           content-type: 'text'
368           subject: '2009 LTS: Failed tests as of  $BUILD_TIMESTAMP'
369           # yamllint disable-line rule:line-length
370           body: |
371                 Following tests failed in the last trending job runs, listed per testbed type.
372
373                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-failed-tests.txt"}}
374
375           always: true
376           failure: false
377
378       - email-ext:
379           # yamllint disable-line rule:line-length
380           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
381           reply-to: ''
382           content-type: 'text'
383           subject: '2009 LTS: Regressions as of  $BUILD_TIMESTAMP'
384           # yamllint disable-line rule:line-length
385           body: |
386                 Following regressions occured in the last trending job runs, listed per testbed type.
387
388                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-regressions.txt"}}
389
390           always: true
391           failure: false
392
393       - email-ext:
394           # yamllint disable-line rule:line-length
395           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
396           reply-to: ''
397           content-type: 'text'
398           subject: '2009 LTS: Progressions as of  $BUILD_TIMESTAMP'
399           # yamllint disable-line rule:line-length
400           body: |
401                 Following progressions occured in the last trending job runs, listed per testbed type.
402
403                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-progressions.txt"}}
404
405           always: true
406           failure: false
407
408       - fdio-infra-shiplogs:
409           maven-version: 'mvn33-new'
410
411 - project:
412     name: csit-info
413     project-name: csit
414     jobs:
415       - gerrit-info-yaml-verify
416     build-node: centos7-builder-2c-2g
417     project: csit
418     branch: master
419
420 - project:
421     name: csit-sonar
422     project: csit
423     project-name: csit
424     mvn-settings: csit-settings
425     sonarcloud: true
426     sonarcloud-project-organization: '{sonarcloud_project_organization}'
427     sonarcloud-api-token: '{sonarcloud_api_token}'
428     sonarcloud-project-key: '{sonarcloud_project_organization}_{project-name}'
429     branch: master
430     build-node: centos7-builder-2c-2g
431     jobs:
432       - gerrit-maven-sonar