440a129845336d58a46d1b01df0907c505c3e338
[ci-management.git] / jjb / csit / csit.yaml
1 # Copyright (c) 2019 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_timed}'
21       - 'csit-report-merge-{stream}'
22       - 'csit-trending-daily-master'
23
24     project: 'csit'
25     branch: 'master'
26     executor: 'ubuntu1804-us'
27     executor-large: 'ubuntu1804-l'
28     build-artifact-num-to-keep: 10
29     stream_timed:
30       - master:
31           branch: 'master'
32           executor: 'ubuntu1804-us'
33     stream:
34       - master:
35           branch: 'master'
36           executor: 'ubuntu1804-us'
37       - '1904':
38           branch: 'rls1904'
39           executor: 'ubuntu1804-us'
40       - '1908':
41           branch: 'rls1908'
42       - '1908_1':
43           branch: 'rls1908_1'
44
45 - project:
46     name: csit-view
47     views:
48       - project-view
49     project-name: csit
50
51 - job-template:
52     name: 'csit-docs-merge-{stream_timed}'
53
54     project-type: freestyle
55     node: '{executor}'
56     concurrent: true
57     allow-empty: 'true'
58     fingerprint: false
59     only-if-success: true
60     default-excludes: false
61
62     build-discarder:
63       daysToKeep: '{build-days-to-keep}'
64       numToKeep: '{build-num-to-keep}'
65       artifactDaysToKeep: '{build-artifact-days-to-keep}'
66       artifactNumToKeep: '{build-artifact-num-to-keep}'
67
68     parameters:
69       - project-parameter:
70           project: '{project}'
71       - gerrit-parameter:
72           branch: '{branch}'
73       - maven-exec:
74           maven-version: 'mvn33-new'
75       - string:
76           name: ARCHIVE_ARTIFACTS
77           default: '{archive-artifacts}'
78           description: Artifacts to archive to the logs server.
79
80     scm:
81       - gerrit-trigger-scm:
82           credentials-id: 'jenkins-gerrit-credentials'
83           refspec: ''
84           choosing-strategy: 'default'
85
86     wrappers:
87       - fdio-infra-wrappers-non-activity-timeout:
88           build-timeout: '{build-timeout}'
89
90     triggers:
91       - reverse:
92           jobs: 'csit-vpp-verify-{stream_timed}-ubuntu1604-weekly'
93           result: 'success'
94       - gerrit:
95           server-name: 'Primary'
96           trigger-on:
97             - comment-added-contains-event:
98                 comment-contains-value: 'run-docs'
99           projects:
100             - project-compare-type: 'ANT'
101               project-pattern: '{project}'
102               branches:
103                 - branch-compare-type: 'ANT'
104                   branch-pattern: '**/{branch}'
105           skip-vote:
106             successful: true
107             failed: true
108             unstable: true
109             notbuilt: true
110
111     builders:
112       - maven-target:
113           maven-version: 'mvn33-new'
114           goals: '--version'
115           settings: 'csit-settings'
116           settings-type: cfp
117           global-settings: 'global-settings'
118           global-settings-type: cfp
119       - provide-maven-settings:
120           settings-file: 'csit-settings'
121           global-settings-file: 'global-settings'
122       - shell:
123           !include-raw-escape: include-raw-csit-docs.sh
124
125     publishers:
126       - fdio-infra-shiplogs:
127           maven-version: 'mvn33-new'
128
129 - job-template:
130     name: 'csit-report-merge-{stream}'
131
132     project-type: freestyle
133     node: '{executor-large}'
134     concurrent: false
135     allow-empty: 'true'
136     fingerprint: false
137     only-if-success: true
138     default-excludes: false
139
140     build-discarder:
141       daysToKeep: '{build-days-to-keep}'
142       numToKeep: '{build-num-to-keep}'
143       artifactDaysToKeep: '{build-artifact-days-to-keep}'
144       artifactNumToKeep: '{build-artifact-num-to-keep}'
145
146     parameters:
147       - project-parameter:
148           project: '{project}'
149       - gerrit-parameter:
150           branch: '{branch}'
151       - maven-exec:
152           maven-version: 'mvn33-new'
153       - string:
154           name: ARCHIVE_ARTIFACTS
155           default: '{archive-artifacts}'
156           description: Artifacts to archive to the logs server.
157
158     scm:
159       - gerrit-trigger-scm:
160           credentials-id: 'jenkins-gerrit-credentials'
161           refspec: '$GERRIT_REFSPEC'
162           choosing-strategy: 'default'
163
164     wrappers:
165       - fdio-infra-wrappers-non-activity-timeout:
166           build-timeout: '{build-timeout}'
167
168     triggers:
169       - gerrit:
170           server-name: 'Primary'
171           trigger-on:
172             - comment-added-contains-event:
173                 comment-contains-value: 'run-report'
174           projects:
175             - project-compare-type: 'ANT'
176               project-pattern: '{project}'
177               branches:
178                 - branch-compare-type: 'ANT'
179                   branch-pattern: '**/{branch}'
180           skip-vote:
181             successful: true
182             failed: true
183             unstable: true
184             notbuilt: true
185
186     builders:
187       - maven-target:
188           maven-version: 'mvn33-new'
189           goals: '--version'
190           settings: 'csit-settings'
191           settings-type: cfp
192           global-settings: 'global-settings'
193           global-settings-type: cfp
194       - provide-maven-settings:
195           settings-file: 'csit-settings'
196           global-settings-file: 'global-settings'
197       - shell:
198           !include-raw-escape: include-raw-csit-report.sh
199
200     publishers:
201       - fdio-infra-shiplogs:
202           maven-version: 'mvn33-new'
203
204 - job-template:
205     name: 'csit-trending-daily-master'
206
207     project-type: freestyle
208     node: '{executor-large}'
209     concurrent: false
210
211     build-discarder:
212       daysToKeep: '{build-days-to-keep}'
213       numToKeep: '{build-num-to-keep}'
214       artifactDaysToKeep: '{build-artifact-days-to-keep}'
215       artifactNumToKeep: '{build-artifact-num-to-keep}'
216
217     parameters:
218       - project-parameter:
219           project: '{project}'
220       - gerrit-parameter:
221           branch: '{branch}'
222       - maven-exec:
223           maven-version: 'mvn33-new'
224
225     scm:
226       - gerrit-trigger-scm:
227           credentials-id: 'jenkins-gerrit-credentials'
228           refspec: ''
229           choosing-strategy: 'default'
230
231     wrappers:
232       - fdio-infra-wrappers-non-activity-timeout:
233           build-timeout: '{build-timeout}'
234
235     triggers:
236       - timed: '0 2,14 * * *'
237
238     builders:
239       - maven-target:
240           maven-version: 'mvn33-new'
241           goals: '--version'
242           settings: 'csit-settings'
243           settings-type: cfp
244           global-settings: 'global-settings'
245           global-settings-type: cfp
246       - provide-maven-settings:
247           settings-file: 'csit-settings'
248           global-settings-file: 'global-settings'
249       - shell:
250           !include-raw-escape: include-raw-csit-cpta.sh
251
252     publishers:
253       - email-ext:
254           # yamllint disable-line rule:line-length
255           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
256           reply-to: ''
257           content-type: 'text'
258           subject: 'Failed tests as of  $BUILD_TIMESTAMP'
259           # yamllint disable-line rule:line-length
260           body: |
261                 Following tests failed in the last trending job runs, listed per testbed type.
262
263                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-failed-tests.txt"}}
264
265           always: true
266           failure: false
267
268       - email-ext:
269           # yamllint disable-line rule:line-length
270           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
271           reply-to: ''
272           content-type: 'text'
273           subject: 'Regressions as of  $BUILD_TIMESTAMP'
274           # yamllint disable-line rule:line-length
275           body: |
276                 Following regressions occured in the last trending job runs, listed per testbed type.
277
278                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-regressions.txt"}}
279
280           always: true
281           failure: false
282
283       - email-ext:
284           # yamllint disable-line rule:line-length
285           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
286           reply-to: ''
287           content-type: 'text'
288           subject: 'Progressions as of  $BUILD_TIMESTAMP'
289           # yamllint disable-line rule:line-length
290           body: |
291                 Following progressions occured in the last trending job runs, listed per testbed type.
292
293                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-progressions.txt"}}
294
295           always: true
296           failure: false
297
298       - fdio-infra-shiplogs:
299           maven-version: 'mvn33-new'
300
301 - project:
302     name: csit-info
303     project-name: csit
304     jobs:
305       - gerrit-info-yaml-verify
306     build-node: centos7-builder-4c-4g
307     project: csit
308     branch: master