Merge "Add CSIT rls1908 branch"
[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 # Is there a good way to allow manual triggers for tx2?
23 #      - '1n-tx2':
24 #          executor: 'vpp-csit-arm-ubuntu18'
25 #          skip-vote: 'true'
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
31     project: 'csit'
32     executor: 'vpp-csit-device'
33     branch: 'master'
34     branch-id: 'oper'
35     stream_timed:
36       - master:
37           branch: 'master'
38           branch-id: 'oper'
39       - '1908':
40           branch: 'rls1908'
41           branch-id: 'oper-rls1908'
42     stream:
43       - master:
44           branch: 'master'
45           branch-id: 'oper'
46       - '1901':
47           branch: 'rls1901'
48           branch-id: 'oper-rls1901'
49       - '1904':
50           branch: 'rls1904'
51           branch-id: 'oper-rls1904'
52       - '1908':
53           branch: 'rls1908'
54           branch-id: 'oper-rls1908'
55 #    exclude:
56 #      - stream: '1901'
57 #        os: 'ubuntu1804'
58 #        node-arch: '1n-tx2'
59 #      - stream: '1904'
60 #        os: 'ubuntu1804'
61 #        node-arch: '1n-tx2'
62
63 - job-template:
64     name: 'csit-vpp-device-{stream}-{os}-{node-arch}'
65     description: |
66       <ul>
67           <li>objective
68               <ul>
69                   <li>vpp-device verify - per csit gerrit patch
70               </ul>
71           <li>job
72               <ul>
73                   <li>name: <b>csit-vpp-device-{stream}-{os}-{node-arch}</b>
74                   <li>trigger: keyword in comment to csit patch:
75                       <b>csit-devicetest tag_list</b>
76               </ul>
77           <li>test-cases selection
78               <ul>
79                   <li>test-cases selected using trigger keyword followed by tags
80                   <li>all test-cases are labelled with CSIT RF topic tags
81                       defined in <i>csit/docs/tag_documentation.rst</i>
82               </ul>
83           <li>default tags for vpp-device test type
84               <ul>
85                   <li>devicetest
86               </ul>
87           <li>results
88               <ul>
89                   <li>jjb verify: PASS/FAIL
90                   <li>present: no
91                   <li>analyse: no
92               </ul>
93       </ul>
94
95     project-type: freestyle
96     node: '{executor}'
97     concurrent: true
98     archive-artifacts: 'archive/*.*'
99     latest-only: false
100
101     build-discarder:
102       daysToKeep: '{build-days-to-keep}'
103       numToKeep: '{build-num-to-keep}'
104       artifactDaysToKeep: '{build-artifact-days-to-keep}'
105       artifactNumToKeep: '{build-artifact-num-to-keep}'
106
107     parameters:
108       - project-parameter:
109           project: '{project}'
110       - gerrit-parameter:
111           branch: '{branch}'
112       - os-parameter:
113           os: '{os}'
114       - gerrit-refspec-parameter
115       - gerrit-event-type-parameter
116       - gerrit-event-comment-text-parameter
117       - string:
118           name: ARCHIVE_ARTIFACTS
119           default: '{archive-artifacts}'
120           description: Artifacts to archive to the logs server.
121
122     scm:
123       - gerrit-trigger-scm:
124           credentials-id: 'jenkins-gerrit-credentials'
125           refspec: '$GERRIT_REFSPEC'
126           choosing-strategy: 'gerrit'
127
128     wrappers:
129       - fdio-infra-wrappers:
130           build-timeout: '{build-timeout}'
131
132     triggers:
133       - gerrit:
134           server-name: 'Primary'
135           trigger-on:
136             - patchset-created-event:
137                 exclude-drafts: 'true'
138                 exclude-trivial-rebase: 'false'
139                 exclude-no-code-change: 'false'
140             - draft-published-event
141             - comment-added-contains-event:
142                 comment-contains-value: 'recheck'
143             - comment-added-contains-event:
144                 comment-contains-value: 'reverify'
145             - comment-added-contains-event:
146                 comment-contains-value: 'csit-devicetest'
147           projects:
148             - project-compare-type: 'ANT'
149               project-pattern: '{project}'
150               branches:
151                 - branch-compare-type: 'ANT'
152                   branch-pattern: '**/{branch}'
153           skip-vote:
154             successful: '{skip-vote}'
155             failed: '{skip-vote}'
156             unstable: '{skip-vote}'
157             notbuilt: '{skip-vote}'
158
159     builders:
160       - shell:
161           !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
162
163     publishers:
164       - robot:
165           output-path: archive
166           other-files:
167             - '*.*'
168       - fdio-infra-shiplogs:
169           maven-version: 'mvn33-new'
170
171 - job-template:
172     name: 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-semiweekly'
173     description: |
174       <ul>
175           <li>objective
176               <ul>
177                   <li>Validate latest vpp build from corresponding branch stored
178                       in nexus against verified CSIT codebase of corresponding
179                       branch.
180               </ul>
181           <li>test-cases selection
182               <ul>
183                   <li>pre-selected test-cases
184                   <li>all test-cases are labelled with CSIT RF topic tags
185                       defined in <i>csit/docs/tag_documentation.rst</i>
186               </ul>
187           <li>default tags for vpp-device test type
188               <ul>
189                   <li>devicetest
190               </ul>
191           <li>results
192               <ul>
193                   <li>jjb verify: PASS/FAIL
194                   <li>present: no
195                   <li>analyse: no
196               </ul>
197       </ul>
198
199     project-type: freestyle
200     node: '{executor}'
201     concurrent: false
202     archive-artifacts: 'csit/archive/*.*'
203     latest-only: false
204
205     build-discarder:
206       daysToKeep: '{build-days-to-keep}'
207       numToKeep: '{build-num-to-keep}'
208       artifactDaysToKeep: '{build-artifact-days-to-keep}'
209       artifactNumToKeep: '{build-artifact-num-to-keep}'
210
211     parameters:
212       - project-parameter:
213           project: '{project}'
214       - gerrit-parameter:
215           branch: '{branch}'
216       - os-parameter:
217           os: '{os}'
218       - string:
219           name: ARCHIVE_ARTIFACTS
220           default: '{archive-artifacts}'
221           description: Artifacts to archive to the logs server.
222
223     wrappers:
224       - fdio-infra-wrappers-non-activity-timeout:
225           build-timeout: '{build-timeout}'
226
227     triggers:
228       - timed: '0 4 * * 2,6'
229
230       - gerrit-trigger-manually-triggered:
231           comment-trigger-value: 'csit-verify-vpp'
232           name: '{project}'
233           branch: '{branch}'
234
235     builders:
236       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
237       - inject:
238           properties-file: variables.prop
239       - shell:
240           !include-raw-escape: jjb/csit/include-raw-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_timed}-{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>test-cases selection
260               <ul>
261                   <li>pre-selected test-cases
262                   <li>all test-cases are labelled with CSIT RF topic tags
263                       defined in <i>csit/docs/tag_documentation.rst</i>
264               </ul>
265           <li>default tags for vpp-device test type
266               <ul>
267                   <li>devicetest
268               </ul>
269           <li>results
270               <ul>
271                   <li>jjb verify: PASS/FAIL
272                   <li>present: no
273                   <li>analyse: no
274               </ul>
275       </ul>
276
277     project-type: freestyle
278     node: '{executor}'
279     concurrent: false
280     archive-artifacts: 'archive/*.*'
281     latest-only: false
282
283     build-discarder:
284       daysToKeep: '{build-days-to-keep}'
285       numToKeep: '{build-num-to-keep}'
286       artifactDaysToKeep: '{build-artifact-days-to-keep}'
287       artifactNumToKeep: '{build-artifact-num-to-keep}'
288
289     parameters:
290       - project-parameter:
291           project: '{project}'
292       - gerrit-parameter:
293           branch: '{branch}'
294       - os-parameter:
295           os: '{os}'
296       - string:
297           name: ARCHIVE_ARTIFACTS
298           default: '{archive-artifacts}'
299           description: Artifacts to archive to the logs server.
300
301     scm:
302       - git-scm:
303           credentials-id: 'jenkins-gerrit-credentials'
304           branch: '{branch}'
305
306     wrappers:
307       - fdio-infra-wrappers-non-activity-timeout:
308           build-timeout: '{build-timeout}'
309
310     triggers:
311       - timed: '0 4 * * 0'
312
313       - gerrit-trigger-manually-triggered:
314           comment-trigger-value: 'csit-vpp-ref-verify'
315           name: '{project}'
316           branch: '{branch}'
317
318     builders:
319       - shell:
320           !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
321
322     publishers:
323       - robot:
324           output-path: archive
325           other-files:
326             - '*.*'
327       - fdio-infra-shiplogs:
328           maven-version: 'mvn33-new'