CSIT: rls2009_lts branch
[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_lts':
33                 branch: 'rls2009_lts'
34                 branch-id: 'oper-rls2009_lts'
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_lts':
44                 branch: 'rls2009_lts'
45                 branch-id: 'oper-rls2009_lts'
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       - '2009_lts':
66           branch: 'rls2009_lts'
67           branch-id: 'oper-rls2009_lts'
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/setup_executor_env.sh
157       - shell:
158           !include-raw-escape:
159           - ../scripts/csit/device-verify.sh
160
161     publishers:
162       - robot:
163           output-path: archive
164           other-files:
165             - '*.*'
166       - fdio-infra-shiplogs:
167           maven-version: 'mvn33-new'
168
169 - job-template:
170     name: 'csit-vpp-device-{stream}-{os}-{node-arch}-semiweekly'
171     description: |
172       <ul>
173           <li>objective
174               <ul>
175                   <li>Validate latest vpp build from corresponding branch stored
176                       in nexus against verified CSIT codebase of corresponding
177                       branch.
178               </ul>
179           <li>executor
180               <ul>
181                   <li>{executor}
182               </ul>
183           <li>test-cases selection
184               <ul>
185                   <li>pre-selected test-cases
186                   <li>all test-cases are labelled with CSIT RF topic tags
187                       defined in <i>csit/docs/tag_documentation.rst</i>
188               </ul>
189           <li>default tags for vpp-device test type
190               <ul>
191                   <li>devicetest
192               </ul>
193           <li>results
194               <ul>
195                   <li>jjb verify: PASS/FAIL
196                   <li>present: no
197                   <li>analyse: no
198               </ul>
199       </ul>
200
201     project-type: freestyle
202     node: '{executor}'
203     concurrent: false
204     archive-artifacts: 'csit/archive/*.*'
205     latest-only: false
206
207     build-discarder:
208       daysToKeep: '{build-days-to-keep}'
209       numToKeep: '{build-num-to-keep}'
210       artifactDaysToKeep: '{build-artifact-days-to-keep}'
211       artifactNumToKeep: '{build-artifact-num-to-keep}'
212
213     parameters:
214       - project-parameter:
215           project: '{project}'
216       - gerrit-parameter:
217           branch: '{branch}'
218       - os-parameter:
219           os: '{os}'
220       - string:
221           name: ARCHIVE_ARTIFACTS
222           default: '{archive-artifacts}'
223           description: Artifacts to archive to the logs server.
224
225     wrappers:
226       - fdio-infra-wrappers-non-activity-timeout:
227           build-timeout: '{build-timeout}'
228
229     triggers:
230       - timed: '0 4 * * 2,6'
231
232       - gerrit-trigger-manually-triggered:
233           comment-trigger-value: 'csit-verify-vpp'
234           name: '{project}'
235           branch: '{branch}'
236
237     builders:
238       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
239       - inject:
240           properties-file: variables.prop
241       - shell:
242           !include-raw-escape:
243           - ../scripts/setup_executor_env.sh
244       - shell:
245           !include-raw-escape:
246           - ../scripts/csit/device-semiweekly.sh
247
248     publishers:
249       - robot:
250           output-path: 'csit/archive'
251           other-files:
252             - '*.*'
253       - fdio-infra-shiplogs:
254           maven-version: 'mvn33-new'
255
256 - job-template:
257     name: 'csit-vpp-device-{stream}-{os}-{node-arch}-weekly'
258     description: |
259       <ul>
260           <li>objective
261               <ul>
262                   <li>Validate CSIT code of corresponding branch against
263                       verified vpp build from corresponding branch.
264               </ul>
265           <li>executor
266               <ul>
267                   <li>{executor}
268               </ul>
269           <li>test-cases selection
270               <ul>
271                   <li>pre-selected test-cases
272                   <li>all test-cases are labelled with CSIT RF topic tags
273                       defined in <i>csit/docs/tag_documentation.rst</i>
274               </ul>
275           <li>default tags for vpp-device test type
276               <ul>
277                   <li>devicetest
278               </ul>
279           <li>results
280               <ul>
281                   <li>jjb verify: PASS/FAIL
282                   <li>present: no
283                   <li>analyse: no
284               </ul>
285       </ul>
286
287     project-type: freestyle
288     node: '{executor}'
289     concurrent: false
290     archive-artifacts: 'archive/*.*'
291     latest-only: false
292
293     build-discarder:
294       daysToKeep: '{build-days-to-keep}'
295       numToKeep: '{build-num-to-keep}'
296       artifactDaysToKeep: '{build-artifact-days-to-keep}'
297       artifactNumToKeep: '{build-artifact-num-to-keep}'
298
299     parameters:
300       - project-parameter:
301           project: '{project}'
302       - gerrit-parameter:
303           branch: '{branch}'
304       - os-parameter:
305           os: '{os}'
306       - string:
307           name: ARCHIVE_ARTIFACTS
308           default: '{archive-artifacts}'
309           description: Artifacts to archive to the logs server.
310
311     scm:
312       - git-scm:
313           credentials-id: 'jenkins-gerrit-credentials'
314           branch: '{branch}'
315
316     wrappers:
317       - fdio-infra-wrappers-non-activity-timeout:
318           build-timeout: '{build-timeout}'
319
320     triggers:
321       - timed: '0 4 * * 0'
322
323       - gerrit-trigger-manually-triggered:
324           comment-trigger-value: 'csit-vpp-ref-verify'
325           name: '{project}'
326           branch: '{branch}'
327
328     builders:
329       - shell:
330           !include-raw-escape:
331           - ../scripts/setup_executor_env.sh
332       - shell:
333           !include-raw-escape:
334           - ../scripts/csit/device-verify.sh
335
336     publishers:
337       - robot:
338           output-path: archive
339           other-files:
340             - '*.*'
341       - fdio-infra-shiplogs:
342           maven-version: 'mvn33-new'