2d1b3cedfb5663864003b662155c37afb90bec05
[ci-management.git] / jjb / csit / csit-vpp-device.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-vpp-device
17     description: 'CSIT jenkins jobs.'
18     os:
19       - 'ubuntu1804'
20     node-arch:
21       - '1n-skx'
22       - '1n-tx2':
23           executor: 'vpp-csit-arm-ubuntu18'
24           skip-vote: 'true'
25           trigger: 'gerrit-trigger-csit-vpp-devicetest-manual'
26     jobs:
27       - 'csit-vpp-device-{stream}-{os}-{node-arch}'
28       - 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-semiweekly'
29       - 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-weekly'
30       - 'csit-vpp-device-master-ubuntu1804-1n-tx2-csit-verify-hourly'
31       - 'csit-vpp-device-master-ubuntu1804-1n-tx2-vpp-verify-hourly'
32
33     project: 'csit'
34     executor: 'vpp-csit-device'
35     branch: 'master'
36     branch-id: 'oper'
37     trigger: 'gerrit-trigger-csit-vpp-devicetest-full'
38     stream_timed:
39       - master:
40           branch: 'master'
41           branch-id: 'oper'
42       - '1908':
43           branch: 'rls1908'
44           branch-id: 'oper-rls1908'
45     stream:
46       - master:
47           branch: 'master'
48           branch-id: 'oper'
49       - '1901':
50           branch: 'rls1901'
51           branch-id: 'oper-rls1901'
52       - '1904':
53           branch: 'rls1904'
54           branch-id: 'oper-rls1904'
55       - '1908':
56           branch: 'rls1908'
57           branch-id: 'oper-rls1908'
58     exclude:
59       - stream: '1901'
60         os: 'ubuntu1804'
61         node-arch: '1n-tx2'
62       - stream: '1904'
63         os: 'ubuntu1804'
64         node-arch: '1n-tx2'
65       - stream_timed: '1908'
66         os: 'ubuntu1804'
67         node-arch: '1n-tx2'
68       - stream_timed: 'master'
69         os: 'ubuntu1804'
70         node-arch: '1n-tx2'
71
72 - job-template:
73     name: 'csit-vpp-device-{stream}-{os}-{node-arch}'
74     description: |
75       <ul>
76           <li>objective
77               <ul>
78                   <li>vpp-device verify - per csit gerrit patch
79               </ul>
80           <li>job
81               <ul>
82                   <li>name: <b>csit-vpp-device-{stream}-{os}-{node-arch}</b>
83                   <li>trigger: keyword in comment to csit patch:
84                       <b>csit-devicetest tag_list</b>
85               </ul>
86           <li>test-cases selection
87               <ul>
88                   <li>test-cases selected using trigger keyword followed by tags
89                   <li>all test-cases are labelled with CSIT RF topic tags
90                       defined in <i>csit/docs/tag_documentation.rst</i>
91               </ul>
92           <li>default tags for vpp-device test type
93               <ul>
94                   <li>devicetest
95               </ul>
96           <li>results
97               <ul>
98                   <li>jjb verify: PASS/FAIL
99                   <li>present: no
100                   <li>analyse: no
101               </ul>
102       </ul>
103
104     project-type: freestyle
105     node: '{executor}'
106     concurrent: true
107     archive-artifacts: 'archive/*.*'
108     latest-only: false
109
110     build-discarder:
111       daysToKeep: '{build-days-to-keep}'
112       numToKeep: '{build-num-to-keep}'
113       artifactDaysToKeep: '{build-artifact-days-to-keep}'
114       artifactNumToKeep: '{build-artifact-num-to-keep}'
115
116     parameters:
117       - project-parameter:
118           project: '{project}'
119       - gerrit-parameter:
120           branch: '{branch}'
121       - os-parameter:
122           os: '{os}'
123       - gerrit-refspec-parameter
124       - gerrit-event-type-parameter
125       - gerrit-event-comment-text-parameter
126       - string:
127           name: ARCHIVE_ARTIFACTS
128           default: '{archive-artifacts}'
129           description: Artifacts to archive to the logs server.
130       # This is an automatic verify job, part of API coverage.
131       # CRC checking is needed to ensure vpp crc job breaks only when intended.
132       # Unlikely to be removed, as this job is primary source of API coverage.
133       - csit-fail-on-crc-mismatch-parameter:
134           fail-on-crc-mismatch: 'True'
135
136     scm:
137       - gerrit-trigger-scm:
138           credentials-id: 'jenkins-gerrit-credentials'
139           refspec: '$GERRIT_REFSPEC'
140           choosing-strategy: 'gerrit'
141
142     wrappers:
143       - fdio-infra-wrappers:
144           build-timeout: '{build-timeout}'
145
146     triggers:
147       - '{trigger}':
148           project: '{project}'
149           branch: '{branch}'
150           skip-vote: '{skip-vote}'
151
152     builders:
153       - shell:
154           !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
155
156     publishers:
157       - robot:
158           output-path: archive
159           other-files:
160             - '*.*'
161       - fdio-infra-shiplogs:
162           maven-version: 'mvn33-new'
163
164 - job-template:
165     name: 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-semiweekly'
166     description: |
167       <ul>
168           <li>objective
169               <ul>
170                   <li>Validate latest vpp build from corresponding branch stored
171                       in nexus against verified CSIT codebase of corresponding
172                       branch.
173               </ul>
174           <li>test-cases selection
175               <ul>
176                   <li>pre-selected test-cases
177                   <li>all test-cases are labelled with CSIT RF topic tags
178                       defined in <i>csit/docs/tag_documentation.rst</i>
179               </ul>
180           <li>default tags for vpp-device test type
181               <ul>
182                   <li>devicetest
183               </ul>
184           <li>results
185               <ul>
186                   <li>jjb verify: PASS/FAIL
187                   <li>present: no
188                   <li>analyse: no
189               </ul>
190       </ul>
191
192     project-type: freestyle
193     node: '{executor}'
194     concurrent: false
195     archive-artifacts: 'csit/archive/*.*'
196     latest-only: false
197
198     build-discarder:
199       daysToKeep: '{build-days-to-keep}'
200       numToKeep: '{build-num-to-keep}'
201       artifactDaysToKeep: '{build-artifact-days-to-keep}'
202       artifactNumToKeep: '{build-artifact-num-to-keep}'
203
204     parameters:
205       - project-parameter:
206           project: '{project}'
207       - gerrit-parameter:
208           branch: '{branch}'
209       - os-parameter:
210           os: '{os}'
211       - string:
212           name: ARCHIVE_ARTIFACTS
213           default: '{archive-artifacts}'
214           description: Artifacts to archive to the logs server.
215
216     wrappers:
217       - fdio-infra-wrappers-non-activity-timeout:
218           build-timeout: '{build-timeout}'
219
220     triggers:
221       - timed: '0 4 * * 2,6'
222
223       - gerrit-trigger-manually-triggered:
224           comment-trigger-value: 'csit-verify-vpp'
225           name: '{project}'
226           branch: '{branch}'
227
228     builders:
229       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
230       - inject:
231           properties-file: variables.prop
232       - shell:
233           !include-raw-escape: jjb/csit/include-raw-csit-device-semiweekly.sh
234
235     publishers:
236       - robot:
237           output-path: 'csit/archive'
238           other-files:
239             - '*.*'
240       - fdio-infra-shiplogs:
241           maven-version: 'mvn33-new'
242
243 - job-template:
244     name: 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-weekly'
245     description: |
246       <ul>
247           <li>objective
248               <ul>
249                   <li>Validate CSIT code of corresponding branch against
250                       verified vpp build from corresponding branch.
251               </ul>
252           <li>test-cases selection
253               <ul>
254                   <li>pre-selected test-cases
255                   <li>all test-cases are labelled with CSIT RF topic tags
256                       defined in <i>csit/docs/tag_documentation.rst</i>
257               </ul>
258           <li>default tags for vpp-device test type
259               <ul>
260                   <li>devicetest
261               </ul>
262           <li>results
263               <ul>
264                   <li>jjb verify: PASS/FAIL
265                   <li>present: no
266                   <li>analyse: no
267               </ul>
268       </ul>
269
270     project-type: freestyle
271     node: '{executor}'
272     concurrent: false
273     archive-artifacts: 'archive/*.*'
274     latest-only: false
275
276     build-discarder:
277       daysToKeep: '{build-days-to-keep}'
278       numToKeep: '{build-num-to-keep}'
279       artifactDaysToKeep: '{build-artifact-days-to-keep}'
280       artifactNumToKeep: '{build-artifact-num-to-keep}'
281
282     parameters:
283       - project-parameter:
284           project: '{project}'
285       - gerrit-parameter:
286           branch: '{branch}'
287       - os-parameter:
288           os: '{os}'
289       - string:
290           name: ARCHIVE_ARTIFACTS
291           default: '{archive-artifacts}'
292           description: Artifacts to archive to the logs server.
293
294     scm:
295       - git-scm:
296           credentials-id: 'jenkins-gerrit-credentials'
297           branch: '{branch}'
298
299     wrappers:
300       - fdio-infra-wrappers-non-activity-timeout:
301           build-timeout: '{build-timeout}'
302
303     triggers:
304       - timed: '0 4 * * 0'
305
306       - gerrit-trigger-manually-triggered:
307           comment-trigger-value: 'csit-vpp-ref-verify'
308           name: '{project}'
309           branch: '{branch}'
310
311     builders:
312       - shell:
313           !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
314
315     publishers:
316       - robot:
317           output-path: archive
318           other-files:
319             - '*.*'
320       - fdio-infra-shiplogs:
321           maven-version: 'mvn33-new'
322
323 - job-template:
324     name: 'csit-vpp-device-master-ubuntu1804-1n-tx2-csit-verify-hourly'
325     description: |
326       <ul>
327           <li>objective
328               <ul>
329                   <li>Validate CSIT code of corresponding branch against
330                       verified vpp build from corresponding branch.
331               </ul>
332           <li>test-cases selection
333               <ul>
334                   <li>pre-selected test-cases
335                   <li>all test-cases are labelled with CSIT RF topic tags
336                       defined in <i>csit/docs/tag_documentation.rst</i>
337               </ul>
338           <li>default tags for vpp-device test type
339               <ul>
340                   <li>devicetest
341               </ul>
342           <li>results
343               <ul>
344                   <li>jjb verify: PASS/FAIL
345                   <li>present: no
346                   <li>analyse: no
347               </ul>
348       </ul>
349
350     project-type: freestyle
351     node: 'vpp-csit-arm-ubuntu18'
352     concurrent: false
353     archive-artifacts: 'archive/*.*'
354     latest-only: false
355
356     build-discarder:
357       daysToKeep: '{build-days-to-keep}'
358       numToKeep: '{build-num-to-keep}'
359       artifactDaysToKeep: '{build-artifact-days-to-keep}'
360       artifactNumToKeep: '{build-artifact-num-to-keep}'
361
362     parameters:
363       - project-parameter:
364           project: '{project}'
365       - gerrit-parameter:
366           branch: '{branch}'
367       - os-parameter:
368           os: 'ubuntu1804'
369       - string:
370           name: ARCHIVE_ARTIFACTS
371           default: '{archive-artifacts}'
372           description: Artifacts to archive to the logs server.
373
374     scm:
375       - git-scm:
376           credentials-id: 'jenkins-gerrit-credentials'
377           branch: '{branch}'
378
379     wrappers:
380       - fdio-infra-wrappers-non-activity-timeout:
381           build-timeout: '{build-timeout}'
382
383     triggers:
384       - timed: '0 * * * *'
385
386     builders:
387       - shell:
388           !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
389
390     publishers:
391       - robot:
392           output-path: archive
393           other-files:
394             - '*.*'
395       - fdio-infra-shiplogs:
396           maven-version: 'mvn33-new'
397
398 - job-template:
399     name: 'csit-vpp-device-master-ubuntu1804-1n-tx2-vpp-verify-hourly'
400     description: |
401       <ul>
402           <li>objective
403               <ul>
404                   <li>Validate latest vpp build from corresponding branch stored
405                       in nexus against verified CSIT codebase of corresponding
406                       branch.
407               </ul>
408           <li>test-cases selection
409               <ul>
410                   <li>pre-selected test-cases
411                   <li>all test-cases are labelled with CSIT RF topic tags
412                       defined in <i>csit/docs/tag_documentation.rst</i>
413               </ul>
414           <li>default tags for vpp-device test type
415               <ul>
416                   <li>devicetest
417               </ul>
418           <li>results
419               <ul>
420                   <li>jjb verify: PASS/FAIL
421                   <li>present: no
422                   <li>analyse: no
423               </ul>
424       </ul>
425
426     project-type: freestyle
427     node: 'vpp-csit-arm-ubuntu18'
428     concurrent: false
429     archive-artifacts: 'csit/archive/*.*'
430     latest-only: false
431
432     build-discarder:
433       daysToKeep: '{build-days-to-keep}'
434       numToKeep: '{build-num-to-keep}'
435       artifactDaysToKeep: '{build-artifact-days-to-keep}'
436       artifactNumToKeep: '{build-artifact-num-to-keep}'
437
438     parameters:
439       - project-parameter:
440           project: '{project}'
441       - gerrit-parameter:
442           branch: '{branch}'
443       - os-parameter:
444           os: 'ubuntu1804'
445       - string:
446           name: ARCHIVE_ARTIFACTS
447           default: '{archive-artifacts}'
448           description: Artifacts to archive to the logs server.
449
450     wrappers:
451       - fdio-infra-wrappers-non-activity-timeout:
452           build-timeout: '{build-timeout}'
453
454     triggers:
455       - timed: '30 * * * *'
456
457     builders:
458       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
459       - inject:
460           properties-file: variables.prop
461       - shell:
462           !include-raw-escape: jjb/csit/include-raw-csit-device-semiweekly.sh
463
464     publishers:
465       - robot:
466           output-path: 'csit/archive'
467           other-files:
468             - '*.*'
469       - fdio-infra-shiplogs:
470           maven-version: 'mvn33-new'