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