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