Merge "Clean up vpp jenkins scripts & docker dir"
[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     jobs:
23       - 'csit-vpp-device-{stream}-{os}-{node-arch}'
24       - 'csit-vpp-device-{stream}-{os}-{node-arch}-semiweekly':
25           stream:
26             - master:
27                 branch: 'master'
28                 branch-id: 'oper'
29             - '1908_2':
30                 branch: 'rls1908_2'
31                 branch-id: 'oper-rls1908_2'
32             - '2009':
33                 branch: 'rls2009'
34                 branch-id: 'oper-rls2009'
35       - 'csit-vpp-device-{stream}-{os}-{node-arch}-weekly':
36           stream:
37             - master:
38                 branch: 'master'
39                 branch-id: 'oper'
40             - '1908_2':
41                 branch: 'rls1908_2'
42                 branch-id: 'oper-rls1908_2'
43             - '2009':
44                 branch: 'rls2009'
45                 branch-id: 'oper-rls2009'
46
47     project: 'csit'
48     executor: 'vpp-csit-device'
49     branch: 'master'
50     branch-id: 'oper'
51     trigger: 'gerrit-trigger-csit-vpp-devicetest-full'
52     stream:
53       - master:
54           branch: 'master'
55           branch-id: 'oper'
56       - '1908_2':
57           branch: 'rls1908_2'
58           branch-id: 'oper-rls1908_2'
59       - '2005':
60           branch: 'rls2005'
61           branch-id: 'oper-rls2005'
62       - '2009':
63           branch: 'rls2009'
64           branch-id: 'oper-rls2009'
65
66 - job-template:
67     name: 'csit-vpp-device-{stream}-{os}-{node-arch}'
68     description: |
69       <ul>
70           <li>objective
71               <ul>
72                   <li>vpp-device verify - per csit gerrit patch
73               </ul>
74           <li>job
75               <ul>
76                   <li>name: <b>csit-vpp-device-{stream}-{os}-{node-arch}</b>
77                   <li>trigger: keyword in comment to csit patch:
78                       <b>csit-devicetest tag_list</b>
79               </ul>
80           <li>executor
81               <ul>
82                   <li>{executor}
83               </ul>
84           <li>test-cases selection
85               <ul>
86                   <li>test-cases selected using trigger keyword followed by tags
87                   <li>all test-cases are labelled with CSIT RF topic tags
88                       defined in <i>csit/docs/tag_documentation.rst</i>
89               </ul>
90           <li>default tags for vpp-device test type
91               <ul>
92                   <li>devicetest
93               </ul>
94           <li>results
95               <ul>
96                   <li>jjb verify: PASS/FAIL
97                   <li>present: no
98                   <li>analyse: no
99               </ul>
100       </ul>
101
102     project-type: freestyle
103     node: '{executor}'
104     concurrent: true
105     archive-artifacts: 'archive/*.*'
106     latest-only: false
107
108     build-discarder:
109       daysToKeep: '{build-days-to-keep}'
110       numToKeep: '{build-num-to-keep}'
111       artifactDaysToKeep: '{build-artifact-days-to-keep}'
112       artifactNumToKeep: '{build-artifact-num-to-keep}'
113
114     parameters:
115       - project-parameter:
116           project: '{project}'
117       - gerrit-parameter:
118           branch: '{branch}'
119       - os-parameter:
120           os: '{os}'
121       - gerrit-refspec-parameter
122       - gerrit-event-type-parameter
123       - gerrit-event-comment-text-parameter
124       - string:
125           name: ARCHIVE_ARTIFACTS
126           default: '{archive-artifacts}'
127           description: Artifacts to archive to the logs server.
128       # This is an automatic verify job, part of API coverage.
129       # CRC checking is needed to ensure vpp crc job breaks only when intended.
130       # Unlikely to be removed, as this job is primary source of API coverage.
131       - csit-fail-on-crc-mismatch-parameter:
132           fail-on-crc-mismatch: 'True'
133
134     scm:
135       - gerrit-trigger-scm:
136           credentials-id: 'jenkins-gerrit-credentials'
137           refspec: '$GERRIT_REFSPEC'
138           choosing-strategy: 'gerrit'
139
140     wrappers:
141       - fdio-infra-wrappers:
142           build-timeout: '{build-timeout}'
143
144     triggers:
145       - '{trigger}':
146           project: '{project}'
147           branch: '{branch}'
148           skip-vote: '{skip-vote}'
149
150     builders:
151       - shell:
152           !include-raw-escape:
153           - ../scripts/setup_executor_env.sh
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/setup_executor_env.sh
241       - shell:
242           !include-raw-escape:
243           - ../scripts/csit/device-semiweekly.sh
244
245     publishers:
246       - robot:
247           output-path: 'csit/archive'
248           other-files:
249             - '*.*'
250       - fdio-infra-shiplogs:
251           maven-version: 'mvn33-new'
252
253 - job-template:
254     name: 'csit-vpp-device-{stream}-{os}-{node-arch}-weekly'
255     description: |
256       <ul>
257           <li>objective
258               <ul>
259                   <li>Validate CSIT code of corresponding branch against
260                       verified vpp build from corresponding branch.
261               </ul>
262           <li>executor
263               <ul>
264                   <li>{executor}
265               </ul>
266           <li>test-cases selection
267               <ul>
268                   <li>pre-selected test-cases
269                   <li>all test-cases are labelled with CSIT RF topic tags
270                       defined in <i>csit/docs/tag_documentation.rst</i>
271               </ul>
272           <li>default tags for vpp-device test type
273               <ul>
274                   <li>devicetest
275               </ul>
276           <li>results
277               <ul>
278                   <li>jjb verify: PASS/FAIL
279                   <li>present: no
280                   <li>analyse: no
281               </ul>
282       </ul>
283
284     project-type: freestyle
285     node: '{executor}'
286     concurrent: false
287     archive-artifacts: 'archive/*.*'
288     latest-only: false
289
290     build-discarder:
291       daysToKeep: '{build-days-to-keep}'
292       numToKeep: '{build-num-to-keep}'
293       artifactDaysToKeep: '{build-artifact-days-to-keep}'
294       artifactNumToKeep: '{build-artifact-num-to-keep}'
295
296     parameters:
297       - project-parameter:
298           project: '{project}'
299       - gerrit-parameter:
300           branch: '{branch}'
301       - os-parameter:
302           os: '{os}'
303       - string:
304           name: ARCHIVE_ARTIFACTS
305           default: '{archive-artifacts}'
306           description: Artifacts to archive to the logs server.
307
308     scm:
309       - git-scm:
310           credentials-id: 'jenkins-gerrit-credentials'
311           branch: '{branch}'
312
313     wrappers:
314       - fdio-infra-wrappers-non-activity-timeout:
315           build-timeout: '{build-timeout}'
316
317     triggers:
318       - timed: '0 4 * * 0'
319
320       - gerrit-trigger-manually-triggered:
321           comment-trigger-value: 'csit-vpp-ref-verify'
322           name: '{project}'
323           branch: '{branch}'
324
325     builders:
326       - shell:
327           !include-raw-escape:
328           - ../scripts/setup_executor_env.sh
329       - shell:
330           !include-raw-escape:
331           - ../scripts/csit/device-verify.sh
332
333     publishers:
334       - robot:
335           output-path: archive
336           other-files:
337             - '*.*'
338       - fdio-infra-shiplogs:
339           maven-version: 'mvn33-new'