Mark jobs that should not tolerate CRC mismatch
[ci-management.git] / jjb / csit / csit-func.yaml
1 # Copyright (c) 2019 Cisco and/or its affiliates.
2 # Copyright (c) 2019 PANTHEON.tech s.r.o. and/or its affiliates.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at:
6 #
7 #     http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 ---
16 - project:
17     name: csit-func
18     description: 'CSIT Functinal Testing Jenkins jobs.'
19     os:
20       - 'ubuntu1604'
21       - 'centos7'
22
23     jobs:
24       - 'csit-vpp-verify-{stream_timed}-{os}-weekly'
25       - 'csit-vpp-verify-{stream_timed}-{os}-semiweekly'
26       - 'csit-vpp-functional-{stream}-{os}-virl'
27       - 'csit-nsh_sfc-verify-func-{stream}-{os}-virl'
28       - 'csit-tldk-verify-func-{stream}-{os}-virl'
29       - 'csit-dmm-functional-{stream}-ubuntu1604-virl'
30
31     project: 'csit'
32     branch: 'master'
33     branch-id: 'oper'
34     build-artifact-num-to-keep: 10
35     stream_timed:
36       - master:
37           branch: 'master'
38           branch-id: 'oper'
39       - '1908':
40           branch: 'rls1908'
41           branch-id: 'oper-rls1908'
42     stream:
43       - master:
44           branch: 'master'
45       - '1901':
46           branch: 'rls1901'
47       - '1904':
48           branch: 'rls1904'
49       - '1908':
50           branch: 'rls1908'
51
52 - job-template:
53     name: 'csit-vpp-verify-{stream_timed}-{os}-weekly'
54     # yamllint disable-line rule:line-length
55     description: 'Purpose of this job is to validate CSIT code of corresponding branch against verified vpp build from corresponding branch.'
56     # yamllint enable rule:line-length
57
58     project-type: freestyle
59     node: '{os}-basebuild-4c-4g'
60     concurrent: false
61     archive-artifacts: >
62       **/csit/report.html
63       **/csit/log.html
64       **/csit/output.xml
65     latest-only: false
66
67     build-discarder:
68       daysToKeep: '{build-days-to-keep}'
69       numToKeep: '{build-num-to-keep}'
70       artifactDaysToKeep: '{build-artifact-days-to-keep}'
71       artifactNumToKeep: '{build-artifact-num-to-keep}'
72
73     parameters:
74       - project-parameter:
75           project: '{project}'
76       - gerrit-parameter:
77           branch: '{branch}'
78       - string:
79           name: ARCHIVE_ARTIFACTS
80           default: '{archive-artifacts}'
81           description: Artifacts to archive to the logs server.
82
83     scm:
84       - git-scm:
85           credentials-id: 'jenkins-gerrit-credentials'
86           branch: '{branch}'
87
88     wrappers:
89       - fdio-infra-wrappers-non-activity-timeout:
90           build-timeout: '{build-timeout}'
91
92     triggers:
93       - timed: '0 4 * * 0'
94
95       - gerrit-trigger-manually-triggered:
96           comment-trigger-value: 'csit-vpp-ref-verify'
97           name: '{project}'
98           branch: '{branch}'
99
100     builders:
101       - shell:
102           !include-raw-escape: jjb/csit/include-raw-csit-vpp-verify-weekly.sh
103
104     publishers:
105       - robot-report:
106           output-path: ''
107
108       - fdio-infra-shiplogs:
109           maven-version: 'mvn33-new'
110
111 - job-template:
112     name: 'csit-vpp-verify-{stream_timed}-{os}-semiweekly'
113     # yamllint disable-line rule:line-length
114     description: 'Purpose of this job is to validate latest vpp build from corresponding branch stored in nexus against verified CSIT codebase of corresponding branch.'
115     # yamllint enable rule:line-length
116
117     project-type: freestyle
118     node: '{os}-basebuild-4c-4g'
119     concurrent: false
120     archive-artifacts: 'csit/archive/*.*'
121     latest-only: false
122
123     build-discarder:
124       daysToKeep: '{build-days-to-keep}'
125       numToKeep: '{build-num-to-keep}'
126       artifactDaysToKeep: '{build-artifact-days-to-keep}'
127       artifactNumToKeep: '{build-artifact-num-to-keep}'
128
129     parameters:
130       - project-parameter:
131           project: '{project}'
132       - gerrit-parameter:
133           branch: '{branch}'
134       - string:
135           name: ARCHIVE_ARTIFACTS
136           default: '{archive-artifacts}'
137           description: Artifacts to archive to the logs server.
138
139     wrappers:
140       - fdio-infra-wrappers-non-activity-timeout:
141           build-timeout: '{build-timeout}'
142
143     triggers:
144       - timed: '0 4 * * 2,6'
145
146       - gerrit-trigger-manually-triggered:
147           comment-trigger-value: 'csit-verify-vpp'
148           name: '{project}'
149           branch: '{branch}'
150
151     builders:
152       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
153       - inject:
154           properties-file: variables.prop
155       - shell:
156           # yamllint disable-line rule:line-length
157           !include-raw-escape: jjb/csit/include-raw-csit-vpp-verify-semiweekly.sh
158           # yamllint enable rule:line-length
159
160     publishers:
161       - robot-report:
162           output-path: 'csit/archive'
163
164       - fdio-infra-shiplogs:
165           maven-version: 'mvn33-new'
166
167 - job-template:
168     name: 'csit-vpp-functional-{stream}-{os}-virl'
169
170     project-type: freestyle
171     node: '{os}-basebuild-4c-4g'
172     concurrent: true
173     archive-artifacts: >
174       **/csit/report.html
175       **/csit/log.html
176       **/csit/output.xml
177     latest-only: false
178
179     build-discarder:
180       daysToKeep: '{build-days-to-keep}'
181       numToKeep: '{build-num-to-keep}'
182       artifactDaysToKeep: '{build-artifact-days-to-keep}'
183       artifactNumToKeep: '{build-artifact-num-to-keep}'
184
185     parameters:
186       - project-parameter:
187           project: '{project}'
188       - gerrit-parameter:
189           branch: '{branch}'
190       - string:
191           name: ARCHIVE_ARTIFACTS
192           default: '{archive-artifacts}'
193           description: Artifacts to archive to the logs server.
194       # This is an automatic verify job, part of API coverage.
195       # CRC checking is needed to ensure vpp crc job breaks only when intended.
196       # Can be removed when this job is no longer needed for full API coverage.
197       - csit-fail-on-crc-mismatch-parameter:
198           fail-on-crc-mismatch: 'True'
199
200     scm:
201       - gerrit-trigger-scm:
202           credentials-id: 'jenkins-gerrit-credentials'
203           refspec: '$GERRIT_REFSPEC'
204           choosing-strategy: 'gerrit'
205
206     wrappers:
207       - fdio-infra-wrappers:
208           build-timeout: '{build-timeout}'
209
210     triggers:
211       - gerrit-trigger-patch-submitted:
212           name: '{project}'
213           branch: '{branch}'
214
215     builders:
216       - shell:
217           !include-raw-escape: include-raw-csit-vpp-functional-virl.sh
218
219     publishers:
220       - robot-report:
221           output-path: ''
222
223       - fdio-infra-shiplogs:
224           maven-version: 'mvn33-new'
225
226 - job-template:
227     name: 'csit-nsh_sfc-verify-func-{stream}-{os}-virl'
228
229     project-type: freestyle
230     node: '{os}-basebuild-4c-4g'
231     concurrent: true
232     archive-artifacts: 'archive/*.*'
233     latest-only: false
234
235     build-discarder:
236       daysToKeep: '{build-days-to-keep}'
237       numToKeep: '{build-num-to-keep}'
238       artifactDaysToKeep: '{build-artifact-days-to-keep}'
239       artifactNumToKeep: '{build-artifact-num-to-keep}'
240
241     parameters:
242       - project-parameter:
243           project: '{project}'
244       - gerrit-parameter:
245           branch: '{branch}'
246       - os-parameter:
247           os: '{os}'
248       - stream-parameter:
249           stream: '{stream}'
250       - string:
251           name: ARCHIVE_ARTIFACTS
252           default: '{archive-artifacts}'
253           description: Artifacts to archive to the logs server.
254
255     scm:
256       - gerrit-trigger-scm:
257           credentials-id: 'jenkins-gerrit-credentials'
258           refspec: '$GERRIT_REFSPEC'
259           choosing-strategy: 'gerrit'
260
261     wrappers:
262       - fdio-infra-wrappers:
263           build-timeout: '{build-timeout}'
264
265     triggers:
266       - gerrit-trigger-manually-triggered:
267           name: '{project}'
268           branch: '{branch}'
269           comment-trigger-value: 'csit_nsh_sfc_func_{stream}'
270
271     builders:
272       - shell:
273           !include-raw-escape: include-raw-csit-nsh_sfc-functional-virl.sh
274
275     publishers:
276       - robot-report:
277           output-path: 'archive'
278
279       - fdio-infra-shiplogs:
280           maven-version: 'mvn33-new'
281
282 - job-template:
283     name: 'csit-tldk-verify-func-{stream}-{os}-virl'
284
285     project-type: freestyle
286     node: '{os}-basebuild-4c-4g'
287     concurrent: true
288     archive-artifacts: 'archive/*.*'
289     latest-only: false
290
291     build-discarder:
292       daysToKeep: '{build-days-to-keep}'
293       numToKeep: '{build-num-to-keep}'
294       artifactDaysToKeep: '{build-artifact-days-to-keep}'
295       artifactNumToKeep: '{build-artifact-num-to-keep}'
296
297     parameters:
298       - project-parameter:
299           project: '{project}'
300       - gerrit-parameter:
301           branch: '{branch}'
302       - os-parameter:
303           os: '{os}'
304       - string:
305           name: ARCHIVE_ARTIFACTS
306           default: '{archive-artifacts}'
307           description: Artifacts to archive to the logs server.
308
309     scm:
310       - gerrit-trigger-scm:
311           credentials-id: 'jenkins-gerrit-credentials'
312           refspec: '$GERRIT_REFSPEC'
313           choosing-strategy: 'gerrit'
314
315     wrappers:
316       - fdio-infra-wrappers:
317           build-timeout: '{build-timeout}'
318
319     triggers:
320       - gerrit-trigger-manually-triggered:
321           name: '{project}'
322           branch: '{branch}'
323           comment-trigger-value: 'csit_verify_tldk_func'
324
325     builders:
326       - shell:
327           !include-raw-escape: include-raw-csit-tldk-functional-virl.sh
328
329     publishers:
330       - robot-report:
331           output-path: 'archive'
332
333       - fdio-infra-shiplogs:
334           maven-version: 'mvn33-new'
335
336 - job-template:
337     name: 'csit-dmm-functional-{stream}-ubuntu1604-virl'
338
339     project-type: freestyle
340     node: 'ubuntu1604-basebuild-4c-4g'
341     concurrent: true
342     archive-artifacts: 'archive/*.*'
343     latest-only: false
344
345     build-discarder:
346       daysToKeep: '{build-days-to-keep}'
347       numToKeep: '{build-num-to-keep}'
348       artifactDaysToKeep: '{build-artifact-days-to-keep}'
349       artifactNumToKeep: '{build-artifact-num-to-keep}'
350
351     parameters:
352       - project-parameter:
353           project: '{project}'
354       - gerrit-parameter:
355           branch: '{branch}'
356       - string:
357           name: ARCHIVE_ARTIFACTS
358           default: '{archive-artifacts}'
359           description: Artifacts to archive to the logs server.
360
361     scm:
362       - gerrit-trigger-scm:
363           credentials-id: 'jenkins-gerrit-credentials'
364           refspec: '$GERRIT_REFSPEC'
365           choosing-strategy: 'gerrit'
366
367     wrappers:
368       - fdio-infra-wrappers:
369           build-timeout: '{build-timeout}'
370
371     triggers:
372       - gerrit-trigger-manually-triggered:
373           name: '{project}'
374           branch: '{branch}'
375           comment-trigger-value: 'csit_verify_dmm_func'
376
377     builders:
378       - shell:
379           !include-raw-escape: include-raw-csit-dmm-functional-virl.sh
380
381     publishers:
382       - robot-report:
383           output-path: ''
384
385       - fdio-infra-shiplogs:
386           maven-version: 'mvn33-new'