Merge "CSIT: Make script inclusion more readable"
[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_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:
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/csit/report.sh
201
202     publishers:
203       - fdio-infra-shiplogs:
204           maven-version: 'mvn33-new'
205
206 - job-template:
207     name: 'csit-trending-daily-master'
208
209     project-type: freestyle
210     node: '{executor-large}'
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/csit/cpta.sh
254
255     publishers:
256       - email-ext:
257           # yamllint disable-line rule:line-length
258           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
259           reply-to: ''
260           content-type: 'text'
261           subject: 'Failed tests as of  $BUILD_TIMESTAMP'
262           # yamllint disable-line rule:line-length
263           body: |
264                 Following tests failed in the last trending job runs, listed per testbed type.
265
266                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-failed-tests.txt"}}
267
268           always: true
269           failure: false
270
271       - email-ext:
272           # yamllint disable-line rule:line-length
273           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
274           reply-to: ''
275           content-type: 'text'
276           subject: 'Regressions as of  $BUILD_TIMESTAMP'
277           # yamllint disable-line rule:line-length
278           body: |
279                 Following regressions occured in the last trending job runs, listed per testbed type.
280
281                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-regressions.txt"}}
282
283           always: true
284           failure: false
285
286       - email-ext:
287           # yamllint disable-line rule:line-length
288           recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
289           reply-to: ''
290           content-type: 'text'
291           subject: 'Progressions as of  $BUILD_TIMESTAMP'
292           # yamllint disable-line rule:line-length
293           body: |
294                 Following progressions occured in the last trending job runs, listed per testbed type.
295
296                 ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-progressions.txt"}}
297
298           always: true
299           failure: false
300
301       - fdio-infra-shiplogs:
302           maven-version: 'mvn33-new'
303
304 - project:
305     name: csit-info
306     project-name: csit
307     jobs:
308       - gerrit-info-yaml-verify
309     build-node: centos7-builder-4c-4g
310     project: csit
311     branch: master