d4dcdd34d1229de3c5ce55201567606a94375832
[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     jobs:
26       - 'csit-vpp-device-{stream}-{os}-{node-arch}'
27       - 'csit-vpp-device-{stream}-{os}-{node-arch}-semiweekly':
28           stream:
29             - master:
30                 branch: 'master'
31                 branch-id: 'oper'
32             - '1908_2':
33                 branch: 'rls1908_2'
34                 branch-id: 'oper-rls1908_2'
35             - '2009_lts':
36                 branch: 'rls2009_lts'
37                 branch-id: 'oper-rls2009_lts'
38       - 'csit-vpp-device-{stream}-{os}-{node-arch}-weekly':
39           stream:
40             - master:
41                 branch: 'master'
42                 branch-id: 'oper'
43             - '1908_2':
44                 branch: 'rls1908_2'
45                 branch-id: 'oper-rls1908_2'
46             - '2009_lts':
47                 branch: 'rls2009_lts'
48                 branch-id: 'oper-rls2009_lts'
49
50     project: 'csit'
51     executor: 'vpp-csit-device'
52     branch: 'master'
53     branch-id: 'oper'
54     stream:
55       - master:
56           branch: 'master'
57           branch-id: 'oper'
58       - '1908_2':
59           branch: 'rls1908_2'
60           branch-id: 'oper-rls1908_2'
61       - '2005':
62           branch: 'rls2005'
63           branch-id: 'oper-rls2005'
64       - '2009':
65           branch: 'rls2009'
66           branch-id: 'oper-rls2009'
67       - '2009_lts':
68           branch: 'rls2009_lts'
69           branch-id: 'oper-rls2009_lts'
70     exclude:
71       - stream: '1908_2'
72         node-arch: '1n-tx2'
73       - stream: '2005'
74         node-arch: '1n-tx2'
75
76 - job-template:
77     name: 'csit-vpp-device-{stream}-{os}-{node-arch}'
78     description: |
79       <ul>
80           <li>objective
81               <ul>
82                   <li>vpp-device verify - per csit gerrit patch
83               </ul>
84           <li>job
85               <ul>
86                   <li>name: <b>csit-vpp-device-{stream}-{os}-{node-arch}</b>
87                   <li>trigger: keyword in comment to csit patch:
88                       <b>csit-devicetest tag_list</b>
89               </ul>
90           <li>executor
91               <ul>
92                   <li>{executor}
93               </ul>
94           <li>test-cases selection
95               <ul>
96                   <li>test-cases selected using trigger keyword followed by tags
97                   <li>all test-cases are labelled with CSIT RF topic tags
98                       defined in <i>csit/docs/tag_documentation.rst</i>
99               </ul>
100           <li>default tags for vpp-device test type
101               <ul>
102                   <li>devicetest
103               </ul>
104           <li>results
105               <ul>
106                   <li>jjb verify: PASS/FAIL
107                   <li>present: no
108                   <li>analyse: no
109               </ul>
110       </ul>
111
112     project-type: freestyle
113     node: '{executor}'
114     concurrent: true
115     archive-artifacts: 'archive/*.*'
116     latest-only: false
117
118     build-discarder:
119       daysToKeep: '{build-days-to-keep}'
120       numToKeep: '{build-num-to-keep}'
121       artifactDaysToKeep: '{build-artifact-days-to-keep}'
122       artifactNumToKeep: '{build-artifact-num-to-keep}'
123
124     parameters:
125       - project-parameter:
126           project: '{project}'
127       - gerrit-parameter:
128           branch: '{branch}'
129       - os-parameter:
130           os: '{os}'
131       - gerrit-refspec-parameter
132       - gerrit-event-type-parameter
133       - gerrit-event-comment-text-parameter
134       - string:
135           name: ARCHIVE_ARTIFACTS
136           default: '{archive-artifacts}'
137           description: Artifacts to archive to the logs server.
138       # This is an automatic verify job, part of API coverage.
139       # CRC checking is needed to ensure vpp crc job breaks only when intended.
140       # Unlikely to be removed, as this job is primary source of API coverage.
141       - csit-fail-on-crc-mismatch-parameter:
142           fail-on-crc-mismatch: 'True'
143
144     scm:
145       - gerrit-trigger-scm:
146           credentials-id: 'jenkins-gerrit-credentials'
147           refspec: '$GERRIT_REFSPEC'
148           choosing-strategy: 'gerrit'
149
150     wrappers:
151       - fdio-infra-wrappers:
152           build-timeout: '{build-timeout}'
153
154     triggers:
155       - 'gerrit-trigger-csit-vpp-devicetest-full':
156           project: '{project}'
157           branch: '{branch}'
158           skip-vote: '{skip-vote}'
159
160     builders:
161       - shell:
162           !include-raw-escape:
163           - ../scripts/setup_executor_env.sh
164       - shell:
165           !include-raw-escape:
166           - ../scripts/csit/device-verify.sh
167
168     publishers:
169       - robot:
170           output-path: 'archives'
171           other-files:
172             - '*.*'
173       - fdio-infra-shiplogs:
174           maven-version: 'mvn33-new'
175
176 - job-template:
177     name: 'csit-vpp-device-{stream}-{os}-{node-arch}-semiweekly'
178     description: |
179       <ul>
180           <li>objective
181               <ul>
182                   <li>Validate latest vpp build from corresponding branch stored
183                       in nexus against verified CSIT codebase of corresponding
184                       branch.
185               </ul>
186           <li>executor
187               <ul>
188                   <li>{executor}
189               </ul>
190           <li>test-cases selection
191               <ul>
192                   <li>pre-selected test-cases
193                   <li>all test-cases are labelled with CSIT RF topic tags
194                       defined in <i>csit/docs/tag_documentation.rst</i>
195               </ul>
196           <li>default tags for vpp-device test type
197               <ul>
198                   <li>devicetest
199               </ul>
200           <li>results
201               <ul>
202                   <li>jjb verify: PASS/FAIL
203                   <li>present: no
204                   <li>analyse: no
205               </ul>
206       </ul>
207
208     project-type: freestyle
209     node: '{executor}'
210     concurrent: false
211     archive-artifacts: 'csit/archive/*.*'
212     latest-only: false
213
214     build-discarder:
215       daysToKeep: '{build-days-to-keep}'
216       numToKeep: '{build-num-to-keep}'
217       artifactDaysToKeep: '{build-artifact-days-to-keep}'
218       artifactNumToKeep: '{build-artifact-num-to-keep}'
219
220     parameters:
221       - project-parameter:
222           project: '{project}'
223       - gerrit-parameter:
224           branch: '{branch}'
225       - os-parameter:
226           os: '{os}'
227       - string:
228           name: ARCHIVE_ARTIFACTS
229           default: '{archive-artifacts}'
230           description: Artifacts to archive to the logs server.
231
232     wrappers:
233       - fdio-infra-wrappers-non-activity-timeout:
234           build-timeout: '{build-timeout}'
235
236     triggers:
237       - timed: '0 4 * * 2,6'
238
239       - gerrit-trigger-manually-triggered:
240           comment-trigger-value: 'csit-verify-vpp'
241           name: '{project}'
242           branch: '{branch}'
243
244     builders:
245       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
246       - inject:
247           properties-file: variables.prop
248       - shell:
249           !include-raw-escape:
250           - ../scripts/setup_executor_env.sh
251       - shell:
252           !include-raw-escape:
253           - ../scripts/csit/device-semiweekly.sh
254
255     publishers:
256       - robot:
257           output-path: 'archives'
258           other-files:
259             - '*.*'
260       - fdio-infra-shiplogs:
261           maven-version: 'mvn33-new'
262
263 - job-template:
264     name: 'csit-vpp-device-{stream}-{os}-{node-arch}-weekly'
265     description: |
266       <ul>
267           <li>objective
268               <ul>
269                   <li>Validate CSIT code of corresponding branch against
270                       verified vpp build from corresponding branch.
271               </ul>
272           <li>executor
273               <ul>
274                   <li>{executor}
275               </ul>
276           <li>test-cases selection
277               <ul>
278                   <li>pre-selected test-cases
279                   <li>all test-cases are labelled with CSIT RF topic tags
280                       defined in <i>csit/docs/tag_documentation.rst</i>
281               </ul>
282           <li>default tags for vpp-device test type
283               <ul>
284                   <li>devicetest
285               </ul>
286           <li>results
287               <ul>
288                   <li>jjb verify: PASS/FAIL
289                   <li>present: no
290                   <li>analyse: no
291               </ul>
292       </ul>
293
294     project-type: freestyle
295     node: '{executor}'
296     concurrent: false
297     archive-artifacts: 'archive/*.*'
298     latest-only: false
299
300     build-discarder:
301       daysToKeep: '{build-days-to-keep}'
302       numToKeep: '{build-num-to-keep}'
303       artifactDaysToKeep: '{build-artifact-days-to-keep}'
304       artifactNumToKeep: '{build-artifact-num-to-keep}'
305
306     parameters:
307       - project-parameter:
308           project: '{project}'
309       - gerrit-parameter:
310           branch: '{branch}'
311       - os-parameter:
312           os: '{os}'
313       - string:
314           name: ARCHIVE_ARTIFACTS
315           default: '{archive-artifacts}'
316           description: Artifacts to archive to the logs server.
317
318     scm:
319       - git-scm:
320           credentials-id: 'jenkins-gerrit-credentials'
321           branch: '{branch}'
322
323     wrappers:
324       - fdio-infra-wrappers-non-activity-timeout:
325           build-timeout: '{build-timeout}'
326
327     triggers:
328       - timed: '0 4 * * 0'
329
330       - gerrit-trigger-manually-triggered:
331           comment-trigger-value: 'csit-vpp-ref-verify'
332           name: '{project}'
333           branch: '{branch}'
334
335     builders:
336       - shell:
337           !include-raw-escape:
338           - ../scripts/setup_executor_env.sh
339       - shell:
340           !include-raw-escape:
341           - ../scripts/csit/device-verify.sh
342
343     publishers:
344       - robot:
345           output-path: 'archives'
346           other-files:
347             - '*.*'
348       - fdio-infra-shiplogs:
349           maven-version: 'mvn33-new'