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