csit.yaml revision 3e1021d2
1# Copyright (c) 2020 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
17    description: 'CSIT Jenkins jobs.'
18
19    jobs:
20      - 'csit-docs-merge-{stream_timed}'
21      - 'csit-report-merge-{stream}'
22      - 'csit-trending-daily-master'
23
24    project: 'csit'
25    branch: 'master'
26    executor: 'ubuntu1804-us'
27    executor-large: 'ubuntu1804-l'
28    build-artifact-num-to-keep: 10
29    stream_timed:
30      - master:
31          branch: 'master'
32      - '2001':
33          branch: 'rls2001'
34    stream:
35      - master:
36          branch: 'master'
37      - '1904':
38          branch: 'rls1904'
39      - '1908':
40          branch: 'rls1908'
41      - '1908_1':
42          branch: 'rls1908_1'
43      - '2001':
44          branch: 'rls2001'
45
46- project:
47    name: csit-view
48    views:
49      - project-view
50    project-name: csit
51
52- job-template:
53    name: 'csit-docs-merge-{stream_timed}'
54
55    project-type: freestyle
56    node: '{executor}'
57    concurrent: true
58    allow-empty: 'true'
59    fingerprint: false
60    only-if-success: true
61    default-excludes: false
62
63    build-discarder:
64      daysToKeep: '{build-days-to-keep}'
65      numToKeep: '{build-num-to-keep}'
66      artifactDaysToKeep: '{build-artifact-days-to-keep}'
67      artifactNumToKeep: '{build-artifact-num-to-keep}'
68
69    parameters:
70      - project-parameter:
71          project: '{project}'
72      - gerrit-parameter:
73          branch: '{branch}'
74      - maven-exec:
75          maven-version: 'mvn33-new'
76      - string:
77          name: ARCHIVE_ARTIFACTS
78          default: '{archive-artifacts}'
79          description: Artifacts to archive to the logs server.
80
81    scm:
82      - gerrit-trigger-scm:
83          credentials-id: 'jenkins-gerrit-credentials'
84          refspec: ''
85          choosing-strategy: 'default'
86
87    wrappers:
88      - fdio-infra-wrappers-non-activity-timeout:
89          build-timeout: '{build-timeout}'
90
91    triggers:
92      - reverse:
93          jobs: 'csit-vpp-device-{stream_timed}-ubuntu1804-1n-skx-weekly'
94          result: 'success'
95      - gerrit:
96          server-name: 'Primary'
97          trigger-on:
98            - comment-added-contains-event:
99                comment-contains-value: 'run-docs'
100          projects:
101            - project-compare-type: 'ANT'
102              project-pattern: '{project}'
103              branches:
104                - branch-compare-type: 'ANT'
105                  branch-pattern: '**/{branch}'
106          skip-vote:
107            successful: true
108            failed: true
109            unstable: true
110            notbuilt: true
111
112    builders:
113      - maven-target:
114          maven-version: 'mvn33-new'
115          goals: '--version'
116          settings: 'csit-settings'
117          settings-type: cfp
118          global-settings: 'global-settings'
119          global-settings-type: cfp
120      - provide-maven-settings:
121          settings-file: 'csit-settings'
122          global-settings-file: 'global-settings'
123      - shell:
124          !include-raw-escape:
125          - ../scripts/csit/docs.sh
126
127    publishers:
128      - fdio-infra-shiplogs:
129          maven-version: 'mvn33-new'
130
131- job-template:
132    name: 'csit-report-merge-{stream}'
133
134    project-type: freestyle
135    node: '{executor-large}'
136    concurrent: false
137    allow-empty: 'true'
138    fingerprint: false
139    only-if-success: true
140    default-excludes: false
141
142    build-discarder:
143      daysToKeep: '{build-days-to-keep}'
144      numToKeep: '{build-num-to-keep}'
145      artifactDaysToKeep: '{build-artifact-days-to-keep}'
146      artifactNumToKeep: '{build-artifact-num-to-keep}'
147
148    parameters:
149      - project-parameter:
150          project: '{project}'
151      - gerrit-parameter:
152          branch: '{branch}'
153      - maven-exec:
154          maven-version: 'mvn33-new'
155      - string:
156          name: ARCHIVE_ARTIFACTS
157          default: '{archive-artifacts}'
158          description: Artifacts to archive to the logs server.
159
160    scm:
161      - gerrit-trigger-scm:
162          credentials-id: 'jenkins-gerrit-credentials'
163          refspec: '$GERRIT_REFSPEC'
164          choosing-strategy: 'default'
165
166    wrappers:
167      - fdio-infra-wrappers-non-activity-timeout:
168          build-timeout: '{build-timeout}'
169
170    triggers:
171      - gerrit:
172          server-name: 'Primary'
173          trigger-on:
174            - comment-added-contains-event:
175                comment-contains-value: 'run-report'
176          projects:
177            - project-compare-type: 'ANT'
178              project-pattern: '{project}'
179              branches:
180                - branch-compare-type: 'ANT'
181                  branch-pattern: '**/{branch}'
182          skip-vote:
183            successful: true
184            failed: true
185            unstable: true
186            notbuilt: true
187
188    builders:
189      - maven-target:
190          maven-version: 'mvn33-new'
191          goals: '--version'
192          settings: 'csit-settings'
193          settings-type: cfp
194          global-settings: 'global-settings'
195          global-settings-type: cfp
196      - provide-maven-settings:
197          settings-file: 'csit-settings'
198          global-settings-file: 'global-settings'
199      - shell:
200          !include-raw-escape:
201          - ../scripts/csit/report.sh
202
203    publishers:
204      - fdio-infra-shiplogs:
205          maven-version: 'mvn33-new'
206
207- job-template:
208    name: 'csit-trending-daily-master'
209
210    project-type: freestyle
211    node: '{executor-large}'
212    concurrent: false
213
214    build-discarder:
215      daysToKeep: '{build-days-to-keep}'
216      numToKeep: '{build-num-to-keep}'
217      artifactDaysToKeep: '{build-artifact-days-to-keep}'
218      artifactNumToKeep: '{build-artifact-num-to-keep}'
219
220    parameters:
221      - project-parameter:
222          project: '{project}'
223      - gerrit-parameter:
224          branch: '{branch}'
225      - maven-exec:
226          maven-version: 'mvn33-new'
227
228    scm:
229      - gerrit-trigger-scm:
230          credentials-id: 'jenkins-gerrit-credentials'
231          refspec: ''
232          choosing-strategy: 'default'
233
234    wrappers:
235      - fdio-infra-wrappers-non-activity-timeout:
236          build-timeout: '{build-timeout}'
237
238    triggers:
239      - timed: '0 2,14 * * *'
240
241    builders:
242      - maven-target:
243          maven-version: 'mvn33-new'
244          goals: '--version'
245          settings: 'csit-settings'
246          settings-type: cfp
247          global-settings: 'global-settings'
248          global-settings-type: cfp
249      - provide-maven-settings:
250          settings-file: 'csit-settings'
251          global-settings-file: 'global-settings'
252      - shell:
253          !include-raw-escape:
254          - ../scripts/csit/cpta.sh
255
256    publishers:
257      - email-ext:
258          # yamllint disable-line rule:line-length
259          recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
260          reply-to: ''
261          content-type: 'text'
262          subject: 'Failed tests as of  $BUILD_TIMESTAMP'
263          # yamllint disable-line rule:line-length
264          body: |
265                Following tests failed in the last trending job runs, listed per testbed type.
266
267                ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-failed-tests.txt"}}
268
269          always: true
270          failure: false
271
272      - email-ext:
273          # yamllint disable-line rule:line-length
274          recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
275          reply-to: ''
276          content-type: 'text'
277          subject: 'Regressions as of  $BUILD_TIMESTAMP'
278          # yamllint disable-line rule:line-length
279          body: |
280                Following regressions occured in the last trending job runs, listed per testbed type.
281
282                ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-regressions.txt"}}
283
284          always: true
285          failure: false
286
287      - email-ext:
288          # yamllint disable-line rule:line-length
289          recipients: 'tifrank@cisco.com, csit-report+int+616+181919729795594561@lists.fd.io'
290          reply-to: ''
291          content-type: 'text'
292          subject: 'Progressions as of  $BUILD_TIMESTAMP'
293          # yamllint disable-line rule:line-length
294          body: |
295                Following progressions occured in the last trending job runs, listed per testbed type.
296
297                ${{FILE,path="build-root/docs/deploy-site/src/site/resources/trending/_static/vpp/trending-progressions.txt"}}
298
299          always: true
300          failure: false
301
302      - fdio-infra-shiplogs:
303          maven-version: 'mvn33-new'
304
305- project:
306    name: csit-info
307    project-name: csit
308    jobs:
309      - gerrit-info-yaml-verify
310    build-node: centos7-builder-4c-4g
311    project: csit
312    branch: master
313