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