csit-vpp-device.yaml revision d2d8803c
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'
335