csit-vpp-device.yaml revision 9d9c5f69
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          trigger: 'gerrit-trigger-csit-vpp-devicetest-manual'
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      - 'csit-vpp-device-master-ubuntu1804-1n-tx2-csit-verify-hourly'
31      - 'csit-vpp-device-master-ubuntu1804-1n-tx2-vpp-verify-hourly'
32
33    project: 'csit'
34    executor: 'vpp-csit-device'
35    branch: 'master'
36    branch-id: 'oper'
37    trigger: 'gerrit-trigger-csit-vpp-devicetest-full'
38    stream_timed:
39      - master:
40          branch: 'master'
41          branch-id: 'oper'
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_1'
54          branch-id: 'oper-rls1908_1'
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      - stream_timed: '1908'
63        os: 'ubuntu1804'
64        node-arch: '1n-tx2'
65      - stream_timed: 'master'
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      # This is an automatic verify job, part of API coverage.
128      # CRC checking is needed to ensure vpp crc job breaks only when intended.
129      # Unlikely to be removed, as this job is primary source of API coverage.
130      - csit-fail-on-crc-mismatch-parameter:
131          fail-on-crc-mismatch: 'True'
132
133    scm:
134      - gerrit-trigger-scm:
135          credentials-id: 'jenkins-gerrit-credentials'
136          refspec: '$GERRIT_REFSPEC'
137          choosing-strategy: 'gerrit'
138
139    wrappers:
140      - fdio-infra-wrappers:
141          build-timeout: '{build-timeout}'
142
143    triggers:
144      - '{trigger}':
145          project: '{project}'
146          branch: '{branch}'
147          skip-vote: '{skip-vote}'
148
149    builders:
150      - shell:
151          !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
152
153    publishers:
154      - robot:
155          output-path: archive
156          other-files:
157            - '*.*'
158      - fdio-infra-shiplogs:
159          maven-version: 'mvn33-new'
160
161- job-template:
162    name: 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-semiweekly'
163    description: |
164      <ul>
165          <li>objective
166              <ul>
167                  <li>Validate latest vpp build from corresponding branch stored
168                      in nexus against verified CSIT codebase of corresponding
169                      branch.
170              </ul>
171          <li>test-cases selection
172              <ul>
173                  <li>pre-selected test-cases
174                  <li>all test-cases are labelled with CSIT RF topic tags
175                      defined in <i>csit/docs/tag_documentation.rst</i>
176              </ul>
177          <li>default tags for vpp-device test type
178              <ul>
179                  <li>devicetest
180              </ul>
181          <li>results
182              <ul>
183                  <li>jjb verify: PASS/FAIL
184                  <li>present: no
185                  <li>analyse: no
186              </ul>
187      </ul>
188
189    project-type: freestyle
190    node: '{executor}'
191    concurrent: false
192    archive-artifacts: 'csit/archive/*.*'
193    latest-only: false
194
195    build-discarder:
196      daysToKeep: '{build-days-to-keep}'
197      numToKeep: '{build-num-to-keep}'
198      artifactDaysToKeep: '{build-artifact-days-to-keep}'
199      artifactNumToKeep: '{build-artifact-num-to-keep}'
200
201    parameters:
202      - project-parameter:
203          project: '{project}'
204      - gerrit-parameter:
205          branch: '{branch}'
206      - os-parameter:
207          os: '{os}'
208      - string:
209          name: ARCHIVE_ARTIFACTS
210          default: '{archive-artifacts}'
211          description: Artifacts to archive to the logs server.
212
213    wrappers:
214      - fdio-infra-wrappers-non-activity-timeout:
215          build-timeout: '{build-timeout}'
216
217    triggers:
218      - timed: '0 4 * * 2,6'
219
220      - gerrit-trigger-manually-triggered:
221          comment-trigger-value: 'csit-verify-vpp'
222          name: '{project}'
223          branch: '{branch}'
224
225    builders:
226      - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
227      - inject:
228          properties-file: variables.prop
229      - shell:
230          !include-raw-escape: jjb/csit/include-raw-csit-device-semiweekly.sh
231
232    publishers:
233      - robot:
234          output-path: 'csit/archive'
235          other-files:
236            - '*.*'
237      - fdio-infra-shiplogs:
238          maven-version: 'mvn33-new'
239
240- job-template:
241    name: 'csit-vpp-device-{stream_timed}-{os}-{node-arch}-weekly'
242    description: |
243      <ul>
244          <li>objective
245              <ul>
246                  <li>Validate CSIT code of corresponding branch against
247                      verified vpp build from corresponding branch.
248              </ul>
249          <li>test-cases selection
250              <ul>
251                  <li>pre-selected test-cases
252                  <li>all test-cases are labelled with CSIT RF topic tags
253                      defined in <i>csit/docs/tag_documentation.rst</i>
254              </ul>
255          <li>default tags for vpp-device test type
256              <ul>
257                  <li>devicetest
258              </ul>
259          <li>results
260              <ul>
261                  <li>jjb verify: PASS/FAIL
262                  <li>present: no
263                  <li>analyse: no
264              </ul>
265      </ul>
266
267    project-type: freestyle
268    node: '{executor}'
269    concurrent: false
270    archive-artifacts: 'archive/*.*'
271    latest-only: false
272
273    build-discarder:
274      daysToKeep: '{build-days-to-keep}'
275      numToKeep: '{build-num-to-keep}'
276      artifactDaysToKeep: '{build-artifact-days-to-keep}'
277      artifactNumToKeep: '{build-artifact-num-to-keep}'
278
279    parameters:
280      - project-parameter:
281          project: '{project}'
282      - gerrit-parameter:
283          branch: '{branch}'
284      - os-parameter:
285          os: '{os}'
286      - string:
287          name: ARCHIVE_ARTIFACTS
288          default: '{archive-artifacts}'
289          description: Artifacts to archive to the logs server.
290
291    scm:
292      - git-scm:
293          credentials-id: 'jenkins-gerrit-credentials'
294          branch: '{branch}'
295
296    wrappers:
297      - fdio-infra-wrappers-non-activity-timeout:
298          build-timeout: '{build-timeout}'
299
300    triggers:
301      - timed: '0 4 * * 0'
302
303      - gerrit-trigger-manually-triggered:
304          comment-trigger-value: 'csit-vpp-ref-verify'
305          name: '{project}'
306          branch: '{branch}'
307
308    builders:
309      - shell:
310          !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
311
312    publishers:
313      - robot:
314          output-path: archive
315          other-files:
316            - '*.*'
317      - fdio-infra-shiplogs:
318          maven-version: 'mvn33-new'
319
320- job-template:
321    name: 'csit-vpp-device-master-ubuntu1804-1n-tx2-csit-verify-hourly'
322    description: |
323      <ul>
324          <li>objective
325              <ul>
326                  <li>Validate CSIT code of corresponding branch against
327                      verified vpp build from corresponding branch.
328              </ul>
329          <li>test-cases selection
330              <ul>
331                  <li>pre-selected test-cases
332                  <li>all test-cases are labelled with CSIT RF topic tags
333                      defined in <i>csit/docs/tag_documentation.rst</i>
334              </ul>
335          <li>default tags for vpp-device test type
336              <ul>
337                  <li>devicetest
338              </ul>
339          <li>results
340              <ul>
341                  <li>jjb verify: PASS/FAIL
342                  <li>present: no
343                  <li>analyse: no
344              </ul>
345      </ul>
346
347    project-type: freestyle
348    node: 'vpp-csit-arm-ubuntu18'
349    concurrent: false
350    archive-artifacts: 'archive/*.*'
351    latest-only: false
352
353    build-discarder:
354      daysToKeep: '{build-days-to-keep}'
355      numToKeep: '{build-num-to-keep}'
356      artifactDaysToKeep: '{build-artifact-days-to-keep}'
357      artifactNumToKeep: '{build-artifact-num-to-keep}'
358
359    parameters:
360      - project-parameter:
361          project: '{project}'
362      - gerrit-parameter:
363          branch: '{branch}'
364      - os-parameter:
365          os: 'ubuntu1804'
366      - string:
367          name: ARCHIVE_ARTIFACTS
368          default: '{archive-artifacts}'
369          description: Artifacts to archive to the logs server.
370
371    scm:
372      - git-scm:
373          credentials-id: 'jenkins-gerrit-credentials'
374          branch: '{branch}'
375
376    wrappers:
377      - fdio-infra-wrappers-non-activity-timeout:
378          build-timeout: '{build-timeout}'
379
380    triggers:
381      - timed: '0 * * * *'
382
383    builders:
384      - shell:
385          !include-raw-escape: jjb/csit/include-raw-csit-device-verify.sh
386
387    publishers:
388      - robot:
389          output-path: archive
390          other-files:
391            - '*.*'
392      - fdio-infra-shiplogs:
393          maven-version: 'mvn33-new'
394
395- job-template:
396    name: 'csit-vpp-device-master-ubuntu1804-1n-tx2-vpp-verify-hourly'
397    description: |
398      <ul>
399          <li>objective
400              <ul>
401                  <li>Validate latest vpp build from corresponding branch stored
402                      in nexus against verified CSIT codebase of corresponding
403                      branch.
404              </ul>
405          <li>test-cases selection
406              <ul>
407                  <li>pre-selected test-cases
408                  <li>all test-cases are labelled with CSIT RF topic tags
409                      defined in <i>csit/docs/tag_documentation.rst</i>
410              </ul>
411          <li>default tags for vpp-device test type
412              <ul>
413                  <li>devicetest
414              </ul>
415          <li>results
416              <ul>
417                  <li>jjb verify: PASS/FAIL
418                  <li>present: no
419                  <li>analyse: no
420              </ul>
421      </ul>
422
423    project-type: freestyle
424    node: 'vpp-csit-arm-ubuntu18'
425    concurrent: false
426    archive-artifacts: 'csit/archive/*.*'
427    latest-only: false
428
429    build-discarder:
430      daysToKeep: '{build-days-to-keep}'
431      numToKeep: '{build-num-to-keep}'
432      artifactDaysToKeep: '{build-artifact-days-to-keep}'
433      artifactNumToKeep: '{build-artifact-num-to-keep}'
434
435    parameters:
436      - project-parameter:
437          project: '{project}'
438      - gerrit-parameter:
439          branch: '{branch}'
440      - os-parameter:
441          os: 'ubuntu1804'
442      - string:
443          name: ARCHIVE_ARTIFACTS
444          default: '{archive-artifacts}'
445          description: Artifacts to archive to the logs server.
446
447    wrappers:
448      - fdio-infra-wrappers-non-activity-timeout:
449          build-timeout: '{build-timeout}'
450
451    triggers:
452      - timed: '30 * * * *'
453
454    builders:
455      - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
456      - inject:
457          properties-file: variables.prop
458      - shell:
459          !include-raw-escape: jjb/csit/include-raw-csit-device-semiweekly.sh
460
461    publishers:
462      - robot:
463          output-path: 'csit/archive'
464          other-files:
465            - '*.*'
466      - fdio-infra-shiplogs:
467          maven-version: 'mvn33-new'
468