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