Merge "builder: if new ansible dir doesn't exist, use old one."
[ci-management.git] / jjb / csit / csit-vpp-device.yaml
1 # Copyright (c) 2021 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     node-arch:
19       - '1n-skx':
20           os: 'ubuntu2004'
21           executor-arch: 'x86_64'
22           make-parallel-jobs: '32'
23           skip-vote: 'false'
24       - '1n-tx2':
25           os: 'ubuntu2004'
26           executor-arch: 'aarch64'
27           make-parallel-jobs: '32'
28           skip-vote: 'true'
29     jobs:
30       - 'csit-vpp-device-{stream}-{os}-{executor-arch}-{node-arch}'
31       - 'csit-vpp-device-{stream}-{os}-{executor-arch}-{node-arch}-semiweekly':
32           stream:
33             - master:
34                 branch: 'master'
35                 branch-id: 'oper'
36             - '2009_lts':
37                 branch: 'rls2009_lts'
38                 branch-id: 'oper-rls2009_lts'
39             - '2101':
40                 branch: 'rls2101'
41                 branch-id: 'oper-rls2101'
42       - 'csit-vpp-device-{stream}-{os}-{executor-arch}-{node-arch}-weekly':
43           stream:
44             - master:
45                 branch: 'master'
46                 branch-id: 'oper'
47             - '2009_lts':
48                 branch: 'rls2009_lts'
49                 branch-id: 'oper-rls2009_lts'
50             - '2101':
51                 branch: 'rls2101'
52                 branch-id: 'oper-rls2101'
53
54     project: 'csit'
55     branch: 'master'
56     branch-id: 'oper'
57     stream:
58       - master:
59           branch: 'master'
60           branch-id: 'oper'
61       - '2009':
62           branch: 'rls2009'
63           branch-id: 'oper-rls2009'
64       - '2009_lts':
65           branch: 'rls2009_lts'
66           branch-id: 'oper-rls2009_lts'
67       - '2101':
68           branch: 'rls2101'
69           branch-id: 'oper-rls2101'
70
71 - job-template:
72     name: 'csit-vpp-device-{stream}-{os}-{executor-arch}-{node-arch}'
73
74     project-type: freestyle
75     node: 'csit-builder-{os}-prod-{executor-arch}'
76     concurrent: true
77     archive-artifacts: 'archive/*.*'
78     latest-only: false
79
80     build-discarder:
81       daysToKeep: '{build-days-to-keep}'
82       numToKeep: '{build-num-to-keep}'
83       artifactDaysToKeep: '{build-artifact-days-to-keep}'
84       artifactNumToKeep: '{build-artifact-num-to-keep}'
85
86     parameters:
87       - project-parameter:
88           project: '{project}'
89       - gerrit-parameter:
90           branch: '{branch}'
91       - make-parallel-jobs-parameter:
92           make-parallel-jobs: '{make-parallel-jobs}'
93       - os-parameter:
94           os: '{os}'
95       - gerrit-refspec-parameter
96       - gerrit-event-type-parameter
97       - gerrit-event-comment-text-parameter
98       - string:
99           name: ARCHIVE_ARTIFACTS
100           default: '{archive-artifacts}'
101           description: Artifacts to archive to the logs server.
102       # This is an automatic verify job, part of API coverage.
103       # CRC checking is needed to ensure vpp crc job breaks only when intended.
104       # Unlikely to be removed, as this job is primary source of API coverage.
105       - csit-fail-on-crc-mismatch-parameter:
106           fail-on-crc-mismatch: 'True'
107
108     scm:
109       - gerrit-trigger-scm:
110           credentials-id: 'jenkins-gerrit-credentials'
111           refspec: '$GERRIT_REFSPEC'
112           choosing-strategy: 'gerrit'
113
114     wrappers:
115       - fdio-infra-wrappers:
116           build-timeout: '{build-timeout}'
117
118     triggers:
119       - gerrit-trigger-csit-vpp-devicetest-full:
120           project: '{project}'
121           branch: '{branch}'
122           skip-vote: '{skip-vote}'
123
124     builders:
125       - shell:
126           !include-raw-escape:
127           - ../scripts/setup_executor_env.sh
128       - shell:
129           !include-raw-escape:
130           - ../scripts/csit/device-verify.sh
131
132     publishers:
133       - robot:
134           output-path: 'archives'
135           other-files:
136             - '*.*'
137       - fdio-infra-publish
138
139 - job-template:
140     name: 'csit-vpp-device-{stream}-{os}-{executor-arch}-{node-arch}-semiweekly'
141
142     project-type: freestyle
143     node: 'csit-builder-{os}-prod-{executor-arch}'
144     concurrent: false
145     archive-artifacts: 'csit/archive/*.*'
146     latest-only: false
147
148     build-discarder:
149       daysToKeep: '{build-days-to-keep}'
150       numToKeep: '{build-num-to-keep}'
151       artifactDaysToKeep: '{build-artifact-days-to-keep}'
152       artifactNumToKeep: '{build-artifact-num-to-keep}'
153
154     parameters:
155       - project-parameter:
156           project: '{project}'
157       - gerrit-parameter:
158           branch: '{branch}'
159       - make-parallel-jobs-parameter:
160           make-parallel-jobs: '{make-parallel-jobs}'
161       - os-parameter:
162           os: '{os}'
163       - string:
164           name: ARCHIVE_ARTIFACTS
165           default: '{archive-artifacts}'
166           description: Artifacts to archive to the logs server.
167
168     wrappers:
169       - fdio-infra-wrappers-non-activity-timeout:
170           build-timeout: '{build-timeout}'
171
172     triggers:
173       - timed: '0 4 * * 2,6'
174
175       - gerrit-trigger-manually-triggered:
176           comment-trigger-value: 'csit-verify-vpp'
177           name: '{project}'
178           branch: '{branch}'
179
180     builders:
181       - shell: 'echo "BRANCH_ID={branch-id}" > $WORKSPACE/variables.prop'
182       - inject:
183           properties-file: variables.prop
184       - shell:
185           !include-raw-escape:
186           - ../scripts/setup_executor_env.sh
187       - shell:
188           !include-raw-escape:
189           - ../scripts/csit/device-semiweekly.sh
190
191     publishers:
192       - robot:
193           output-path: 'archives'
194           other-files:
195             - '*.*'
196       - fdio-infra-publish
197
198 - job-template:
199     name: 'csit-vpp-device-{stream}-{os}-{executor-arch}-{node-arch}-weekly'
200
201     project-type: freestyle
202     node: 'csit-builder-{os}-prod-{executor-arch}'
203     concurrent: false
204     archive-artifacts: 'archive/*.*'
205     latest-only: false
206
207     build-discarder:
208       daysToKeep: '{build-days-to-keep}'
209       numToKeep: '{build-num-to-keep}'
210       artifactDaysToKeep: '{build-artifact-days-to-keep}'
211       artifactNumToKeep: '{build-artifact-num-to-keep}'
212
213     parameters:
214       - project-parameter:
215           project: '{project}'
216       - gerrit-parameter:
217           branch: '{branch}'
218       - make-parallel-jobs-parameter:
219           make-parallel-jobs: '{make-parallel-jobs}'
220       - os-parameter:
221           os: '{os}'
222       - string:
223           name: ARCHIVE_ARTIFACTS
224           default: '{archive-artifacts}'
225           description: Artifacts to archive to the logs server.
226
227     scm:
228       - git-scm:
229           credentials-id: 'jenkins-gerrit-credentials'
230           branch: '{branch}'
231
232     wrappers:
233       - fdio-infra-wrappers-non-activity-timeout:
234           build-timeout: '{build-timeout}'
235
236     triggers:
237       - timed: '0 4 * * 0'
238
239       - gerrit-trigger-manually-triggered:
240           comment-trigger-value: 'csit-vpp-ref-verify'
241           name: '{project}'
242           branch: '{branch}'
243
244     builders:
245       - shell:
246           !include-raw-escape:
247           - ../scripts/setup_executor_env.sh
248       - shell:
249           !include-raw-escape:
250           - ../scripts/csit/device-verify.sh
251
252     publishers:
253       - robot:
254           output-path: 'archives'
255           other-files:
256             - '*.*'
257       - fdio-infra-publish