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