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