feat(csit): Remove 2n-skx and 3n-skx
[ci-management.git] / jjb / vpp / vpp.yaml
1 # Copyright (c) 2022 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 DEFINITIONS
16 #
17 # Please keep projects grouped in this order:
18 #     vpp-x86_64, vpp-aarch64, vpp-csit
19 #
20 # NOTES:
21 #   - The 'branch-refspec' attribute is used for sandbox testing.
22 #         Use the get_gerrit_refspec() bash function in
23 #         .../ci-management/extras/bash/sandbox_test_functions.sh
24 #         to query gerrit for the refspec of HEAD in a branch.
25 #         TODO: see if there is a refspec that works without requiring
26 #               use of get_gerrit_refspec and hand entering the result
27 #               in the WebUI 'Build With Parameters' gerrit refspec field.
28 # [end] NOTES
29
30 # VPP-CHECKSTYLE-X86_64 PROJECT
31 - project:
32     name: vpp-checkstyle-x86_64
33     jobs:
34       - 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
35     project: 'vpp'
36     os: 'ubuntu2004'
37     stream:
38       - master:
39           branch: 'master'
40           branch-refspec: ''
41       - '2202':
42           branch: 'stable/2202'
43           branch-refspec: ''
44       - '2206':
45           branch: 'stable/2206'
46           branch-refspec: ''
47     executor-arch: 'x86_64'
48 # [end] VPP-CHECKSTYLE-X86_64 PROJECT
49
50 # VPP-X86_64 PROJECT
51 #
52 # NOTE: The list of supported branches for each OS are maintained
53 #       in .../ci-management/docker/scripts/lib_vpp.sh
54 #       The job configuration must be derived from that list, thus
55 #       modifications to both should be made at the same time.
56 #       Since x86_64 is the primary development architecture, this
57 #       project definition should be identical to the docker image
58 #       build scripts.  Other architectures may be a subset.
59 - project:
60     name: vpp-x86_64
61     jobs:
62       - 'vpp-verify-{stream}-{os}-{executor-arch}'
63       - 'vpp-merge-{stream}-{os}-{executor-arch}'
64     project: 'vpp'
65     make-parallel-jobs: '4'
66     make-test-os: 'ubuntu-20.04'
67     stream:
68       - master:
69           branch: 'master'
70           branch-refspec: ''
71       - '2202':
72           branch: 'stable/2202'
73           branch-refspec: ''
74       - '2206':
75           branch: 'stable/2206'
76           branch-refspec: ''
77     os:
78       - debian10
79       - debian11
80       - ubuntu2004
81     executor-arch: 'x86_64'
82     exclude:
83       # os added in 22.06
84       - stream: '2202'
85         os: 'debian11'
86 # [end] VPP-X86_64 PROJECT
87
88 # VPP-DEBUG-X86_64 PROJECT
89 #
90 # Currently a periodic job due to intermittent failures.
91 # Limiting branches to master, since other branches
92 # may not get fixes for the intermittent failures.
93 #
94 - project:
95     name: vpp-debug-x86_64
96     jobs:
97       - 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
98     project: 'vpp'
99     make-parallel-jobs: '4'
100     make-test-os: 'ubuntu-20.04'
101     comment-trigger-value: 'debug-verify'
102     stream:
103       - master:
104           branch: 'master'
105           branch-refspec: ''
106           # Once per hour
107           periodicity: 'H * * * *'
108     os: 'ubuntu2004'
109     executor-arch: 'x86_64'
110 # [end] VPP-DEBUG-X86_64 PROJECT
111
112 # VPP-GCC-X86_64 PROJECT
113 - project:
114     name: vpp-gcc-x86_64
115     jobs:
116       - 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
117     project: 'vpp'
118     executor-arch: 'x86_64'
119     os: 'ubuntu2004'
120     stream:
121       - master:
122           branch: 'master'
123           branch-refspec: ''
124       - '2202':
125           branch: 'stable/2202'
126           branch-refspec: ''
127       - '2206':
128           branch: 'stable/2206'
129           branch-refspec: ''
130 # [end] VPP-GCC-X86_64 PROJECT
131
132 # VPP-AARCH64 PROJECT
133 #
134 # NOTE: The list of supported branches for each OS are maintained
135 #       in .../ci-management/docker/scripts/lib_vpp.sh
136 #       The job configuration must be derived from that list, thus
137 #       modifications to both should be made at the same time.
138 #       The AARCH64 architecture is in the process of catching up
139 #       with X86_64 in terms of OS coverage.  Thus the jobs are
140 #       a subset of those defined in the docker image build script.
141 - project:
142     name: vpp-aarch64
143     jobs:
144       - 'vpp-verify-{stream}-{os}-{executor-arch}'
145       - 'vpp-merge-{stream}-{os}-{executor-arch}'
146     project: 'vpp'
147     make-parallel-jobs: '16'
148     make-test-os: 'ubuntu-20.04'
149     stream:
150       - master:
151           branch: 'master'
152           branch-refspec: ''
153       - '2202':
154           branch: 'stable/2202'
155           branch-refspec: ''
156       - '2206':
157           branch: 'stable/2206'
158           branch-refspec: ''
159     os:
160       - ubuntu2004
161     executor-arch: 'aarch64'
162 # [end] VPP-AARCH64 PROJECT
163
164 # VPP-CSIT-VERIFY-DEVICE PROJECT
165 - project:
166     name: vpp-csit-verify-device
167     jobs:
168       - 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}':
169           make-parallel-jobs: '32'
170     project: 'vpp'
171     skip-vote: 'false'
172     stream:
173       - master:
174           branch: 'master'
175           branch-refspec: ''
176       - '2202':
177           branch: 'stable/2202'
178           branch-refspec: ''
179       - '2206':
180           branch: 'stable/2206'
181           branch-refspec: ''
182     testbed-arch:
183       - 1n-skx:
184           os: 'ubuntu2004'
185           executor-arch: 'x86_64'
186       - 1n-tx2:
187           os: 'ubuntu2004'
188           executor-arch: 'aarch64'
189           skip-vote: 'true'
190
191 # [end] VPP-CSIT-VERIFY-DEVICE PROJECT
192
193 # VPP-CSIT-VERIFY-PERF PROJECT
194 - project:
195     name: vpp-csit-verify-perf
196     jobs:
197       - 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
198     project: 'vpp'
199     skip-vote: 'false'
200     stream:
201       - master:
202           branch: 'master'
203           branch-refspec: ''
204       - '2202':
205           branch: 'stable/2202'
206           branch-refspec: ''
207       - '2206':
208           branch: 'stable/2206'
209           branch-refspec: ''
210     testbed-arch:
211       - 2n-icx:
212           os: 'ubuntu2004'
213           executor-arch: 'x86_64'
214       - 2n-clx:
215           os: 'ubuntu2004'
216           executor-arch: 'x86_64'
217       - 2n-zn2:
218           os: 'ubuntu2004'
219           executor-arch: 'x86_64'
220       - 3n-icx:
221           os: 'ubuntu2004'
222           executor-arch: 'x86_64'
223       - 2n-dnv:
224           os: 'ubuntu2004'
225           executor-arch: 'x86_64'
226       - 3n-dnv:
227           os: 'ubuntu2004'
228           executor-arch: 'x86_64'
229       - 3n-tsh:
230           os: 'ubuntu2004'
231           executor-arch: 'aarch64'
232           make-parallel-jobs: '16'
233       - 3n-alt:
234           os: 'ubuntu2004'
235           executor-arch: 'aarch64'
236           make-parallel-jobs: '16'
237       - 2n-tx2:
238           os: 'ubuntu2004'
239           executor-arch: 'aarch64'
240           make-parallel-jobs: '16'
241
242 # [end] VPP-CSIT-VERIFY-PERF PROJECT
243
244 # VPP-CSIT-API-CRC PROJECT
245 #
246 # Only master and LTS branches are supported.
247 #
248 - project:
249     name: vpp-csit-api-crc
250     jobs:
251       - 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
252     project: 'vpp'
253     executor-arch: 'x86_64'
254     skip-vote: 'false'
255     stream:
256       - master:
257           branch: 'master'
258           branch-refspec: ''
259       - '2202':
260           branch: 'stable/2202'
261           branch-refspec: ''
262       - '2206':
263           branch: 'stable/2206'
264           branch-refspec: ''
265     os: 'ubuntu2004'
266 # [end] VPP-CSIT-API-CRC PROJECT
267
268 # LF RELENG VPP PROJECTS
269 - project:
270     name: vpp-info
271     project-name: vpp
272     jobs:
273       - gerrit-info-yaml-verify
274     build-node: centos7-builder-2c-2g
275     project: vpp
276     branch: master
277
278 - project:
279     name: vpp-view
280     views:
281       - project-view
282     project-name: vpp
283 # [end] LF RELENG VPP PROJECTS
284 # [end] PROJECT DEFINITIONS
285
286 # JOB TEMPLATE DEFINITIONS
287 #
288 # Please keep job templates in the same order as they are referenced
289 # in the project definitions above.
290
291 # VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
292 - job-template:
293     name: 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
294
295     project-type: freestyle
296     node: 'builder-{os}-prod-{executor-arch}'
297     concurrent: true
298
299     properties:
300       - lf-infra-properties:
301           build-days-to-keep: "{build-days-to-keep}"
302
303     # Please keep parameters in alphabetical order
304     parameters:
305       - gerrit-parameter:
306           branch: '{branch}'
307       - gerrit-refspec-parameter:
308           refspec: '{branch-refspec}'
309       - os-parameter:
310           os: '{os}'
311       - project-parameter:
312           project: '{project}'
313
314     scm:
315       - gerrit-trigger-scm:
316           credentials-id: 'jenkins-gerrit-credentials'
317           refspec: '$GERRIT_REFSPEC'
318           choosing-strategy: 'gerrit'
319
320     wrappers:
321       - fdio-infra-wrappers:
322           build-timeout: '{build-timeout}'
323       - credentials-binding:
324           - text:
325               credential-id: VppApiCompatNotify
326               variable: SECRET_WEBEX_TEAMS_ACCESS_TOKEN
327
328     triggers:
329       - gerrit:
330           server-name: 'Primary'
331           trigger-on:
332             - patchset-created-event:
333                 exclude-drafts: 'true'
334                 exclude-trivial-rebase: 'false'
335                 exclude-no-code-change: 'false'
336             - draft-published-event
337             - comment-added-contains-event:
338                 comment-contains-value: 'checkstylecheck'
339             - comment-added-contains-event:
340                 comment-contains-value: 'docsonly'
341             - comment-added-contains-event:
342                 comment-contains-value: 'recheck'
343             - comment-added-contains-event:
344                 comment-contains-value: 'reverify'
345             # Following two are to cover missing functions of drafts
346             # going to review status
347             - comment-added-contains-event:
348                 comment-contains-value: 'runtest'
349             - comment-added-contains-event:
350                 comment-contains-value: 'This change is ready for review'
351           projects:
352             - project-compare-type: 'ANT'
353               project-pattern: '{project}'
354               branches:
355                 - branch-compare-type: 'ANT'
356                   branch-pattern: '**/{branch}'
357               file-paths:
358                 - compare-type: REG_EXP
359                   pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
360               forbidden-file-paths:
361                 - compare-type: REG_EXP
362                   pattern: .*extras\/emacs\/.*
363               disable-strict-forbidden-file-verification: 'true'
364           override-votes: true
365           gerrit-build-notbuilt-verified-value: 0
366           gerrit-build-successful-verified-value: 1
367           # yamllint disable-line rule:line-length
368           notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
369           # yamllint disable-line rule:line-length
370           failed-message: 'Checkstyle failed. No further verify jobs will be started.'
371           successful-message: 'checkstyle_success'
372           skip-vote:
373             successful: true
374             failed: false
375             unstable: false
376             notbuilt: false
377
378     builders:
379       - shell:
380           !include-raw-escape:
381           - ../scripts/setup_executor_env.sh
382       - shell:
383           !include-raw-escape:
384           - ../scripts/vpp/checkstyle.sh
385       - shell:
386           !include-raw-escape:
387           - ../scripts/vpp/test-checkstyle.sh
388       - shell:
389           !include-raw-escape:
390           - ../scripts/vpp/api-checkstyle.sh
391       - shell:
392           !include-raw-escape:
393           - ../scripts/vpp/commitmsg.sh
394       - shell:
395           !include-raw-escape:
396           - ../scripts/vpp/docs_spell.sh
397
398     publishers:
399       - fdio-infra-publish
400
401 # [end] VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
402
403 # VPP-VERIFY JOB TEMPLATE
404 - job-template:
405     name: 'vpp-verify-{stream}-{os}-{executor-arch}'
406
407     project-type: freestyle
408     node: 'builder-{os}-prod-{executor-arch}'
409     concurrent: true
410
411     properties:
412       - lf-infra-properties:
413           build-days-to-keep: "{build-days-to-keep}"
414
415     # Please keep parameters in alphabetical order
416     parameters:
417       - gerrit-parameter:
418           branch: '{branch}'
419       - gerrit-refspec-parameter:
420           refspec: '{branch-refspec}'
421       - make-parallel-jobs-parameter:
422           make-parallel-jobs: '{make-parallel-jobs}'
423       - make-test-os-parameter:
424           make-test-os: '{make-test-os}'
425       - os-parameter:
426           os: '{os}'
427       - project-parameter:
428           project: '{project}'
429       - stream-parameter:
430           stream: '{stream}'
431
432     scm:
433       - gerrit-trigger-scm:
434           credentials-id: 'jenkins-gerrit-credentials'
435           refspec: '$GERRIT_REFSPEC'
436           choosing-strategy: 'gerrit'
437
438     wrappers:
439       - fdio-infra-wrappers:
440           build-timeout: 120
441
442     triggers:
443       - gerrit-trigger-checkstyle:
444           name: '{project}'
445           branch: '{branch}'
446
447     builders:
448       - shell:
449           !include-raw-escape:
450           - ../scripts/setup_executor_env.sh
451       - shell:
452           !include-raw-escape:
453           - ../scripts/setup_vpp_ubuntu_docker_test.sh
454       - shell:
455           !include-raw-escape:
456           - ../scripts/setup_vpp_ext_deps.sh
457       - shell:
458           !include-raw-escape:
459           - ../scripts/vpp/build.sh
460
461     publishers:
462       - fdio-infra-publish
463 # [end] VPP-VERIFY JOB TEMPLATE
464
465 # VPP-DEBUG-VERIFY JOB TEMPLATE
466 - job-template:
467     name: 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
468
469     project-type: freestyle
470     node: 'builder-{os}-prod-{executor-arch}'
471     concurrent: true
472
473     properties:
474       - lf-infra-properties:
475           build-days-to-keep: "{build-days-to-keep}"
476
477     # Please keep parameters in alphabetical order
478     parameters:
479       - gerrit-parameter:
480           branch: '{branch}'
481       - gerrit-refspec-parameter:
482           refspec: '{branch-refspec}'
483       - make-parallel-jobs-parameter:
484           make-parallel-jobs: '{make-parallel-jobs}'
485       - make-test-os-parameter:
486           make-test-os: '{make-test-os}'
487       - os-parameter:
488           os: '{os}'
489       - project-parameter:
490           project: '{project}'
491       - stream-parameter:
492           stream: '{stream}'
493
494     scm:
495       - gerrit-trigger-scm:
496           credentials-id: 'jenkins-gerrit-credentials'
497           refspec: '$GERRIT_REFSPEC'
498           choosing-strategy: 'gerrit'
499
500     wrappers:
501       - fdio-infra-wrappers:
502           build-timeout: '{build-timeout}'
503
504     triggers:
505       - timed: '{periodicity}'
506       - gerrit-trigger-manually-triggered:
507           comment-trigger-value: '{comment-trigger-value}'
508           name: '{project}'
509           branch: '{branch}'
510
511     builders:
512       - shell:
513           !include-raw-escape:
514           - ../scripts/setup_executor_env.sh
515       - shell:
516           !include-raw-escape:
517           - ../scripts/setup_vpp_ubuntu_docker_test.sh
518       - shell:
519           !include-raw-escape:
520           - ../scripts/setup_vpp_ext_deps.sh
521       - shell:
522           !include-raw-escape:
523           - ../scripts/vpp/debug-build.sh
524
525     publishers:
526       - fdio-infra-publish
527 # [end] VPP-DEBUG-VERIFY-PERIODIC JOB TEMPLATE
528
529 # VPP-MERGE JOB TEMPLATE
530 - job-template:
531     name: 'vpp-merge-{stream}-{os}-{executor-arch}'
532
533     project-type: freestyle
534     node: 'builder-{os}-prod-{executor-arch}'
535
536     properties:
537       - lf-infra-properties:
538           build-days-to-keep: "{build-days-to-keep}"
539
540     # Please keep parameters in alphabetical order
541     parameters:
542       - gerrit-parameter:
543           branch: '{branch}'
544       - make-parallel-jobs-parameter:
545           make-parallel-jobs: '{make-parallel-jobs}'
546       - make-test-os-parameter:
547           make-test-os: '{make-test-os}'
548       - os-parameter:
549           os: '{os}'
550       - project-parameter:
551           project: '{project}'
552       - stream-parameter:
553           stream: '{stream}'
554
555     scm:
556       - gerrit-trigger-scm:
557           credentials-id: 'jenkins-gerrit-credentials'
558           refspec: ''
559           choosing-strategy: 'default'
560
561     wrappers:
562       - fdio-infra-wrappers:
563           build-timeout: 120
564
565     triggers:
566       - gerrit-trigger-patch-merged:
567           name: '{project}'
568           branch: '{branch}'
569
570     builders:
571       - config-file-provider:
572           files:
573             - file-id: '.packagecloud'
574               target: '/root/.packagecloud'
575       - config-file-provider:
576           files:
577             - file-id: 'packagecloud_api'
578               target: '/root/packagecloud_api'
579       - shell:
580           !include-raw-escape:
581           - ../scripts/setup_executor_env.sh
582       - shell:
583           !include-raw-escape:
584           - ../scripts/setup_vpp_ubuntu_docker_test.sh
585       - shell:
586           !include-raw-escape:
587           - ../scripts/setup_vpp_ext_deps.sh
588       - shell:
589           !include-raw-escape:
590           - ../scripts/vpp/build.sh
591       - shell:
592           !include-raw-escape:
593           - ../scripts/packagecloud_push.sh
594
595     publishers:
596       - fdio-infra-publish
597 # [end] VPP-MERGE JOB TEMPLATE
598
599 # VPP-GCC-VERIFY JOB TEMPLATE
600 - job-template:
601     name: 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
602
603     project-type: freestyle
604     node: 'builder-{os}-prod-{executor-arch}'
605     concurrent: true
606
607     properties:
608       - lf-infra-properties:
609           build-days-to-keep: "{build-days-to-keep}"
610
611     # Please keep parameters in alphabetical order
612     parameters:
613       - gerrit-parameter:
614           branch: '{branch}'
615       - gerrit-refspec-parameter:
616           refspec: '{branch-refspec}'
617       - make-parallel-jobs-parameter:
618           make-parallel-jobs: '{make-parallel-jobs}'
619       - os-parameter:
620           os: '{os}'
621       - project-parameter:
622           project: '{project}'
623       - stream-parameter:
624           stream: '{stream}'
625
626     scm:
627       - gerrit-trigger-scm:
628           credentials-id: 'jenkins-gerrit-credentials'
629           refspec: '$GERRIT_REFSPEC'
630           choosing-strategy: 'gerrit'
631
632     wrappers:
633       - fdio-infra-wrappers:
634           build-timeout: 120
635
636     triggers:
637       - gerrit-trigger-checkstyle:
638           name: '{project}'
639           branch: '{branch}'
640
641     builders:
642       - shell:
643           !include-raw-escape:
644           - ../scripts/setup_executor_env.sh
645       - shell:
646           !include-raw-escape:
647           - ../scripts/setup_vpp_ubuntu_docker_test.sh
648       - shell:
649           !include-raw-escape:
650           - ../scripts/setup_vpp_ext_deps.sh
651       - shell:
652           !include-raw-escape:
653           - ../scripts/vpp/gcc-build.sh
654
655     publishers:
656       - fdio-infra-publish
657 # [end] VPP-GCC-VERIFY JOB TEMPLATE
658
659 # VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
660 - job-template:
661     name: 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}'
662     description: |
663       <ul>
664           <li>executor
665               <ul>
666                   <li>csit-builder-{os}-prod-{executor-arch}
667               </ul>
668           <li>testbed architecture
669               <ul>
670                   <li>{testbed-arch}
671               </ul>
672       </ul>
673
674     project-type: freestyle
675     node: 'csit-builder-{os}-prod-{executor-arch}'
676     concurrent: true
677     latest-only: false
678
679     properties:
680       - lf-infra-properties:
681           build-days-to-keep: "{build-days-to-keep}"
682
683     # Please keep parameters in alphabetical order
684     parameters:
685       - gerrit-csit-refspec-parameter
686       - gerrit-event-comment-text-parameter
687       - gerrit-event-type-parameter
688       - gerrit-parameter:
689           branch: '{branch}'
690       - gerrit-refspec-parameter:
691           refspec: '{branch-refspec}'
692       - make-parallel-jobs-parameter:
693           make-parallel-jobs: '{make-parallel-jobs}'
694       - os-parameter:
695           os: '{os}'
696       - project-parameter:
697           project: '{project}'
698       - stream-parameter:
699           stream: '{stream}'
700
701     scm:
702       - gerrit-trigger-scm:
703           credentials-id: 'jenkins-gerrit-credentials'
704           refspec: '$GERRIT_REFSPEC'
705           choosing-strategy: 'gerrit'
706
707     wrappers:
708       - fdio-infra-wrappers:
709           build-timeout: '90'
710
711     triggers:
712       - 'gerrit-trigger-vpp-csit-devicetest-full':
713           name: '{project}'
714           branch: '{branch}'
715           skip-vote: '{skip-vote}'
716
717     builders:
718       - shell:
719           !include-raw-escape:
720           - ../scripts/setup_executor_env.sh
721       - shell:
722           !include-raw-escape:
723           - ../scripts/setup_vpp_ubuntu_docker_test.sh
724       - shell:
725           !include-raw-escape:
726           - ../scripts/setup_vpp_ext_deps.sh
727       - shell:
728           !include-raw-escape:
729           - ../scripts/vpp/csit-device.sh
730
731     publishers:
732       - fdio-infra-publish
733 # [end] VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
734
735 # VPP-CSIT-VERIFY-PERF JOB TEMPLATE
736 - job-template:
737     name: 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
738     description: |
739       <ul>
740           <li>executor
741               <ul>
742                   <li>builder-{os}-prod-{executor-arch}
743               </ul>
744           <li>testbed architecture
745               <ul>
746                   <li>{testbed-arch}
747               </ul>
748           <li>Objective
749           Contrary to csit-vpp job, this also measures the parent performance,
750           and fails if performance regression is detected.
751           See https://github.com/FDio/csit/blob/master/docs/cpta/methodology/perpatch_performance_tests.rst
752       </ul>
753
754     project-type: freestyle
755     node: 'builder-{os}-prod-{executor-arch}'
756     concurrent: true
757     latest-only: false
758
759     properties:
760       - lf-infra-properties:
761           build-days-to-keep: "{build-days-to-keep}"
762
763     # Please keep parameters in alphabetical order
764     parameters:
765       - csit-perf-trial-duration-parameter:
766           csit-perf-trial-duration: "10.0"
767       - csit-perf-trial-multiplicity-parameter:
768           csit-perf-trial-multiplicity: "5"
769       - gerrit-csit-refspec-parameter
770       - gerrit-event-comment-text-parameter
771       - gerrit-event-type-parameter
772       - gerrit-refspec-parameter:
773           refspec: '{branch-refspec}'
774       - gerrit-parameter:
775           branch: '{branch}'
776       - make-parallel-jobs-parameter:
777           make-parallel-jobs: '{make-parallel-jobs}'
778       - os-parameter:
779           os: '{os}'
780       - project-parameter:
781           project: '{project}'
782       - stream-parameter:
783           stream: '{stream}'
784
785     scm:
786       - gerrit-trigger-scm:
787           credentials-id: 'jenkins-gerrit-credentials'
788           refspec: '$GERRIT_REFSPEC'
789           choosing-strategy: 'gerrit'
790
791     wrappers:
792       - fdio-infra-wrappers-non-activity-timeout:
793           build-timeout: 300
794
795     triggers:
796       - gerrit-trigger-csit-perftest:
797           project: '{project}'
798           branch: '{branch}'
799           trigger-word: 'perftest-{testbed-arch}'
800           skip-vote: true
801
802     builders:
803       - shell:
804           !include-raw-escape:
805           - ../scripts/setup_executor_env.sh
806       - shell:
807           !include-raw-escape:
808           - ../scripts/setup_vpp_ubuntu_docker_test.sh
809       - shell:
810           !include-raw-escape:
811           - ../scripts/setup_vpp_ext_deps.sh
812       - shell:
813           !include-raw-escape:
814           - ../scripts/vpp/csit-perf.sh
815
816     publishers:
817       - postbuildscript:
818           # Can be removed when all CSIT branches use correct archive directory.
819           builders:
820             - build-on:
821                 - ABORTED
822                 - FAILURE
823                 - NOT_BUILT
824                 - SUCCESS
825                 - UNSTABLE
826               build-steps:
827                 - shell:
828                     !include-raw-escape:
829                     - ../scripts/vpp/copy_archives.sh
830       - robot-report:
831           output-path: 'archives/csit_current/0/'
832
833       - fdio-infra-publish
834 # [end] VPP-CSIT-VERIFY-PERF JOB TEMPLATE
835
836 # VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
837 - job-template:
838     name: 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
839
840     project-type: freestyle
841     node: 'builder-{os}-prod-{executor-arch}'
842     concurrent: true
843     latest-only: false
844
845     properties:
846       - lf-infra-properties:
847           build-days-to-keep: "{build-days-to-keep}"
848
849     # Please keep parameters in alphabetical order
850     parameters:
851       # Not sure whether not failing has any useful usage,
852       # but it does not hurt to have some flexibility for future.
853       - csit-fail-on-crc-mismatch-parameter:
854           fail-on-crc-mismatch: 'True'
855       - gerrit-csit-refspec-parameter
856       - gerrit-parameter:
857           branch: '{branch}'
858       - gerrit-refspec-parameter:
859           refspec: '{branch-refspec}'
860       - project-parameter:
861           project: '{project}'
862       - stream-parameter:
863           stream: '{stream}'
864
865     scm:
866       - gerrit-trigger-scm:
867           credentials-id: 'jenkins-gerrit-credentials'
868           refspec: '$GERRIT_REFSPEC'
869           choosing-strategy: 'gerrit'
870
871     wrappers:
872       - fdio-infra-wrappers-non-activity-timeout:
873           build-timeout: 300
874
875     triggers:
876       - gerrit-trigger-checkstyle:
877           name: '{project}'
878           branch: '{branch}'
879
880     builders:
881       - shell:
882           !include-raw-escape:
883           - ../scripts/setup_executor_env.sh
884       - shell:
885           !include-raw-escape:
886           - ../scripts/setup_vpp_ubuntu_docker_test.sh
887       - shell:
888           !include-raw-escape:
889           - ../scripts/vpp/check_crc.sh
890     # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
891
892     publishers:
893       - fdio-infra-publish
894 # [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
895 # [end] JOB TEMPLATE DEFINITIONS