Merge "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       - 3n-snr:
242           os: 'ubuntu2004'
243           executor-arch: 'x86_64'
244
245 # [end] VPP-CSIT-VERIFY-PERF PROJECT
246
247 # VPP-CSIT-API-CRC PROJECT
248 #
249 # Only master and LTS branches are supported.
250 #
251 - project:
252     name: vpp-csit-api-crc
253     jobs:
254       - 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
255     project: 'vpp'
256     executor-arch: 'x86_64'
257     skip-vote: 'false'
258     stream:
259       - master:
260           branch: 'master'
261           branch-refspec: ''
262       - '2202':
263           branch: 'stable/2202'
264           branch-refspec: ''
265       - '2206':
266           branch: 'stable/2206'
267           branch-refspec: ''
268     os: 'ubuntu2004'
269 # [end] VPP-CSIT-API-CRC PROJECT
270
271 # LF RELENG VPP PROJECTS
272 - project:
273     name: vpp-info
274     project-name: vpp
275     jobs:
276       - gerrit-info-yaml-verify
277     build-node: centos7-builder-2c-2g
278     project: vpp
279     branch: master
280
281 - project:
282     name: vpp-view
283     views:
284       - project-view
285     project-name: vpp
286 # [end] LF RELENG VPP PROJECTS
287 # [end] PROJECT DEFINITIONS
288
289 # JOB TEMPLATE DEFINITIONS
290 #
291 # Please keep job templates in the same order as they are referenced
292 # in the project definitions above.
293
294 # VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
295 - job-template:
296     name: 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
297
298     project-type: freestyle
299     node: 'builder-{os}-prod-{executor-arch}'
300     concurrent: true
301
302     properties:
303       - lf-infra-properties:
304           build-days-to-keep: "{build-days-to-keep}"
305
306     # Please keep parameters in alphabetical order
307     parameters:
308       - gerrit-parameter:
309           branch: '{branch}'
310       - gerrit-refspec-parameter:
311           refspec: '{branch-refspec}'
312       - os-parameter:
313           os: '{os}'
314       - project-parameter:
315           project: '{project}'
316
317     scm:
318       - gerrit-trigger-scm:
319           credentials-id: 'jenkins-gerrit-credentials'
320           refspec: '$GERRIT_REFSPEC'
321           choosing-strategy: 'gerrit'
322
323     wrappers:
324       - fdio-infra-wrappers:
325           build-timeout: '{build-timeout}'
326       - credentials-binding:
327           - text:
328               credential-id: VppApiCompatNotify
329               variable: SECRET_WEBEX_TEAMS_ACCESS_TOKEN
330
331     triggers:
332       - gerrit:
333           server-name: 'Primary'
334           trigger-on:
335             - patchset-created-event:
336                 exclude-drafts: 'true'
337                 exclude-trivial-rebase: 'false'
338                 exclude-no-code-change: 'false'
339             - draft-published-event
340             - comment-added-contains-event:
341                 comment-contains-value: 'checkstylecheck'
342             - comment-added-contains-event:
343                 comment-contains-value: 'docsonly'
344             - comment-added-contains-event:
345                 comment-contains-value: 'recheck'
346             - comment-added-contains-event:
347                 comment-contains-value: 'reverify'
348             # Following two are to cover missing functions of drafts
349             # going to review status
350             - comment-added-contains-event:
351                 comment-contains-value: 'runtest'
352             - comment-added-contains-event:
353                 comment-contains-value: 'This change is ready for review'
354           projects:
355             - project-compare-type: 'ANT'
356               project-pattern: '{project}'
357               branches:
358                 - branch-compare-type: 'ANT'
359                   branch-pattern: '**/{branch}'
360               file-paths:
361                 - compare-type: REG_EXP
362                   pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
363               forbidden-file-paths:
364                 - compare-type: REG_EXP
365                   pattern: .*extras\/emacs\/.*
366               disable-strict-forbidden-file-verification: 'true'
367           override-votes: true
368           gerrit-build-notbuilt-verified-value: 0
369           gerrit-build-successful-verified-value: 1
370           # yamllint disable-line rule:line-length
371           notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
372           # yamllint disable-line rule:line-length
373           failed-message: 'Checkstyle failed. No further verify jobs will be started.'
374           successful-message: 'checkstyle_success'
375           skip-vote:
376             successful: true
377             failed: false
378             unstable: false
379             notbuilt: false
380
381     builders:
382       - shell:
383           !include-raw-escape:
384           - ../scripts/setup_executor_env.sh
385       - shell:
386           !include-raw-escape:
387           - ../scripts/vpp/checkstyle.sh
388       - shell:
389           !include-raw-escape:
390           - ../scripts/vpp/test-checkstyle.sh
391       - shell:
392           !include-raw-escape:
393           - ../scripts/vpp/api-checkstyle.sh
394       - shell:
395           !include-raw-escape:
396           - ../scripts/vpp/commitmsg.sh
397       - shell:
398           !include-raw-escape:
399           - ../scripts/vpp/docs_spell.sh
400
401     publishers:
402       - fdio-infra-publish
403
404 # [end] VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
405
406 # VPP-VERIFY JOB TEMPLATE
407 - job-template:
408     name: 'vpp-verify-{stream}-{os}-{executor-arch}'
409
410     project-type: freestyle
411     node: 'builder-{os}-prod-{executor-arch}'
412     concurrent: true
413
414     properties:
415       - lf-infra-properties:
416           build-days-to-keep: "{build-days-to-keep}"
417
418     # Please keep parameters in alphabetical order
419     parameters:
420       - gerrit-parameter:
421           branch: '{branch}'
422       - gerrit-refspec-parameter:
423           refspec: '{branch-refspec}'
424       - make-parallel-jobs-parameter:
425           make-parallel-jobs: '{make-parallel-jobs}'
426       - make-test-os-parameter:
427           make-test-os: '{make-test-os}'
428       - os-parameter:
429           os: '{os}'
430       - project-parameter:
431           project: '{project}'
432       - stream-parameter:
433           stream: '{stream}'
434
435     scm:
436       - gerrit-trigger-scm:
437           credentials-id: 'jenkins-gerrit-credentials'
438           refspec: '$GERRIT_REFSPEC'
439           choosing-strategy: 'gerrit'
440
441     wrappers:
442       - fdio-infra-wrappers:
443           build-timeout: 120
444
445     triggers:
446       - gerrit-trigger-checkstyle:
447           name: '{project}'
448           branch: '{branch}'
449
450     builders:
451       - shell:
452           !include-raw-escape:
453           - ../scripts/setup_executor_env.sh
454       - shell:
455           !include-raw-escape:
456           - ../scripts/setup_vpp_ubuntu_docker_test.sh
457       - shell:
458           !include-raw-escape:
459           - ../scripts/setup_vpp_ext_deps.sh
460       - shell:
461           !include-raw-escape:
462           - ../scripts/vpp/build.sh
463
464     publishers:
465       - fdio-infra-publish
466 # [end] VPP-VERIFY JOB TEMPLATE
467
468 # VPP-DEBUG-VERIFY JOB TEMPLATE
469 - job-template:
470     name: 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
471
472     project-type: freestyle
473     node: 'builder-{os}-prod-{executor-arch}'
474     concurrent: true
475
476     properties:
477       - lf-infra-properties:
478           build-days-to-keep: "{build-days-to-keep}"
479
480     # Please keep parameters in alphabetical order
481     parameters:
482       - gerrit-parameter:
483           branch: '{branch}'
484       - gerrit-refspec-parameter:
485           refspec: '{branch-refspec}'
486       - make-parallel-jobs-parameter:
487           make-parallel-jobs: '{make-parallel-jobs}'
488       - make-test-os-parameter:
489           make-test-os: '{make-test-os}'
490       - os-parameter:
491           os: '{os}'
492       - project-parameter:
493           project: '{project}'
494       - stream-parameter:
495           stream: '{stream}'
496
497     scm:
498       - gerrit-trigger-scm:
499           credentials-id: 'jenkins-gerrit-credentials'
500           refspec: '$GERRIT_REFSPEC'
501           choosing-strategy: 'gerrit'
502
503     wrappers:
504       - fdio-infra-wrappers:
505           build-timeout: '{build-timeout}'
506
507     triggers:
508       - timed: '{periodicity}'
509       - gerrit-trigger-manually-triggered:
510           comment-trigger-value: '{comment-trigger-value}'
511           name: '{project}'
512           branch: '{branch}'
513
514     builders:
515       - shell:
516           !include-raw-escape:
517           - ../scripts/setup_executor_env.sh
518       - shell:
519           !include-raw-escape:
520           - ../scripts/setup_vpp_ubuntu_docker_test.sh
521       - shell:
522           !include-raw-escape:
523           - ../scripts/setup_vpp_ext_deps.sh
524       - shell:
525           !include-raw-escape:
526           - ../scripts/vpp/debug-build.sh
527
528     publishers:
529       - fdio-infra-publish
530 # [end] VPP-DEBUG-VERIFY-PERIODIC JOB TEMPLATE
531
532 # VPP-MERGE JOB TEMPLATE
533 - job-template:
534     name: 'vpp-merge-{stream}-{os}-{executor-arch}'
535
536     project-type: freestyle
537     node: 'builder-{os}-prod-{executor-arch}'
538
539     properties:
540       - lf-infra-properties:
541           build-days-to-keep: "{build-days-to-keep}"
542
543     # Please keep parameters in alphabetical order
544     parameters:
545       - gerrit-parameter:
546           branch: '{branch}'
547       - make-parallel-jobs-parameter:
548           make-parallel-jobs: '{make-parallel-jobs}'
549       - make-test-os-parameter:
550           make-test-os: '{make-test-os}'
551       - os-parameter:
552           os: '{os}'
553       - project-parameter:
554           project: '{project}'
555       - stream-parameter:
556           stream: '{stream}'
557
558     scm:
559       - gerrit-trigger-scm:
560           credentials-id: 'jenkins-gerrit-credentials'
561           refspec: ''
562           choosing-strategy: 'default'
563
564     wrappers:
565       - fdio-infra-wrappers:
566           build-timeout: 120
567
568     triggers:
569       - gerrit-trigger-patch-merged:
570           name: '{project}'
571           branch: '{branch}'
572
573     builders:
574       - config-file-provider:
575           files:
576             - file-id: '.packagecloud'
577               target: '/root/.packagecloud'
578       - config-file-provider:
579           files:
580             - file-id: 'packagecloud_api'
581               target: '/root/packagecloud_api'
582       - shell:
583           !include-raw-escape:
584           - ../scripts/setup_executor_env.sh
585       - shell:
586           !include-raw-escape:
587           - ../scripts/setup_vpp_ubuntu_docker_test.sh
588       - shell:
589           !include-raw-escape:
590           - ../scripts/setup_vpp_ext_deps.sh
591       - shell:
592           !include-raw-escape:
593           - ../scripts/vpp/build.sh
594       - shell:
595           !include-raw-escape:
596           - ../scripts/packagecloud_push.sh
597
598     publishers:
599       - fdio-infra-publish
600 # [end] VPP-MERGE JOB TEMPLATE
601
602 # VPP-GCC-VERIFY JOB TEMPLATE
603 - job-template:
604     name: 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
605
606     project-type: freestyle
607     node: 'builder-{os}-prod-{executor-arch}'
608     concurrent: true
609
610     properties:
611       - lf-infra-properties:
612           build-days-to-keep: "{build-days-to-keep}"
613
614     # Please keep parameters in alphabetical order
615     parameters:
616       - gerrit-parameter:
617           branch: '{branch}'
618       - gerrit-refspec-parameter:
619           refspec: '{branch-refspec}'
620       - make-parallel-jobs-parameter:
621           make-parallel-jobs: '{make-parallel-jobs}'
622       - os-parameter:
623           os: '{os}'
624       - project-parameter:
625           project: '{project}'
626       - stream-parameter:
627           stream: '{stream}'
628
629     scm:
630       - gerrit-trigger-scm:
631           credentials-id: 'jenkins-gerrit-credentials'
632           refspec: '$GERRIT_REFSPEC'
633           choosing-strategy: 'gerrit'
634
635     wrappers:
636       - fdio-infra-wrappers:
637           build-timeout: 120
638
639     triggers:
640       - gerrit-trigger-checkstyle:
641           name: '{project}'
642           branch: '{branch}'
643
644     builders:
645       - shell:
646           !include-raw-escape:
647           - ../scripts/setup_executor_env.sh
648       - shell:
649           !include-raw-escape:
650           - ../scripts/setup_vpp_ubuntu_docker_test.sh
651       - shell:
652           !include-raw-escape:
653           - ../scripts/setup_vpp_ext_deps.sh
654       - shell:
655           !include-raw-escape:
656           - ../scripts/vpp/gcc-build.sh
657
658     publishers:
659       - fdio-infra-publish
660 # [end] VPP-GCC-VERIFY JOB TEMPLATE
661
662 # VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
663 - job-template:
664     name: 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}'
665     description: |
666       <ul>
667           <li>executor
668               <ul>
669                   <li>csit-builder-{os}-prod-{executor-arch}
670               </ul>
671           <li>testbed architecture
672               <ul>
673                   <li>{testbed-arch}
674               </ul>
675       </ul>
676
677     project-type: freestyle
678     node: 'csit-builder-{os}-prod-{executor-arch}'
679     concurrent: true
680     latest-only: false
681
682     properties:
683       - lf-infra-properties:
684           build-days-to-keep: "{build-days-to-keep}"
685
686     # Please keep parameters in alphabetical order
687     parameters:
688       - gerrit-csit-refspec-parameter
689       - gerrit-event-comment-text-parameter
690       - gerrit-event-type-parameter
691       - gerrit-parameter:
692           branch: '{branch}'
693       - gerrit-refspec-parameter:
694           refspec: '{branch-refspec}'
695       - make-parallel-jobs-parameter:
696           make-parallel-jobs: '{make-parallel-jobs}'
697       - os-parameter:
698           os: '{os}'
699       - project-parameter:
700           project: '{project}'
701       - stream-parameter:
702           stream: '{stream}'
703
704     scm:
705       - gerrit-trigger-scm:
706           credentials-id: 'jenkins-gerrit-credentials'
707           refspec: '$GERRIT_REFSPEC'
708           choosing-strategy: 'gerrit'
709
710     wrappers:
711       - fdio-infra-wrappers:
712           build-timeout: '90'
713
714     triggers:
715       - 'gerrit-trigger-vpp-csit-devicetest-full':
716           name: '{project}'
717           branch: '{branch}'
718           skip-vote: '{skip-vote}'
719
720     builders:
721       - shell:
722           !include-raw-escape:
723           - ../scripts/setup_executor_env.sh
724       - shell:
725           !include-raw-escape:
726           - ../scripts/setup_vpp_ubuntu_docker_test.sh
727       - shell:
728           !include-raw-escape:
729           - ../scripts/setup_vpp_ext_deps.sh
730       - shell:
731           !include-raw-escape:
732           - ../scripts/vpp/csit-device.sh
733
734     publishers:
735       - fdio-infra-publish
736 # [end] VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
737
738 # VPP-CSIT-VERIFY-PERF JOB TEMPLATE
739 - job-template:
740     name: 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
741     description: |
742       <ul>
743           <li>executor
744               <ul>
745                   <li>builder-{os}-prod-{executor-arch}
746               </ul>
747           <li>testbed architecture
748               <ul>
749                   <li>{testbed-arch}
750               </ul>
751           <li>Objective
752           Contrary to csit-vpp job, this also measures the parent performance,
753           and fails if performance regression is detected.
754           See https://github.com/FDio/csit/blob/master/docs/cpta/methodology/perpatch_performance_tests.rst
755       </ul>
756
757     project-type: freestyle
758     node: 'builder-{os}-prod-{executor-arch}'
759     concurrent: true
760     latest-only: false
761
762     properties:
763       - lf-infra-properties:
764           build-days-to-keep: "{build-days-to-keep}"
765
766     # Please keep parameters in alphabetical order
767     parameters:
768       - csit-perf-trial-duration-parameter:
769           csit-perf-trial-duration: "10.0"
770       - csit-perf-trial-multiplicity-parameter:
771           csit-perf-trial-multiplicity: "5"
772       - gerrit-csit-refspec-parameter
773       - gerrit-event-comment-text-parameter
774       - gerrit-event-type-parameter
775       - gerrit-refspec-parameter:
776           refspec: '{branch-refspec}'
777       - gerrit-parameter:
778           branch: '{branch}'
779       - make-parallel-jobs-parameter:
780           make-parallel-jobs: '{make-parallel-jobs}'
781       - os-parameter:
782           os: '{os}'
783       - project-parameter:
784           project: '{project}'
785       - stream-parameter:
786           stream: '{stream}'
787
788     scm:
789       - gerrit-trigger-scm:
790           credentials-id: 'jenkins-gerrit-credentials'
791           refspec: '$GERRIT_REFSPEC'
792           choosing-strategy: 'gerrit'
793
794     wrappers:
795       - fdio-infra-wrappers-non-activity-timeout:
796           build-timeout: 300
797
798     triggers:
799       - gerrit-trigger-csit-perftest:
800           project: '{project}'
801           branch: '{branch}'
802           trigger-word: 'perftest-{testbed-arch}'
803           skip-vote: true
804
805     builders:
806       - shell:
807           !include-raw-escape:
808           - ../scripts/setup_executor_env.sh
809       - shell:
810           !include-raw-escape:
811           - ../scripts/setup_vpp_ubuntu_docker_test.sh
812       - shell:
813           !include-raw-escape:
814           - ../scripts/setup_vpp_ext_deps.sh
815       - shell:
816           !include-raw-escape:
817           - ../scripts/vpp/csit-perf.sh
818
819     publishers:
820       - postbuildscript:
821           # Can be removed when all CSIT branches use correct archive directory.
822           builders:
823             - build-on:
824                 - ABORTED
825                 - FAILURE
826                 - NOT_BUILT
827                 - SUCCESS
828                 - UNSTABLE
829               build-steps:
830                 - shell:
831                     !include-raw-escape:
832                     - ../scripts/vpp/copy_archives.sh
833       - robot-report:
834           output-path: 'archives/csit_current/0/'
835
836       - fdio-infra-publish
837 # [end] VPP-CSIT-VERIFY-PERF JOB TEMPLATE
838
839 # VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
840 - job-template:
841     name: 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
842
843     project-type: freestyle
844     node: 'builder-{os}-prod-{executor-arch}'
845     concurrent: true
846     latest-only: false
847
848     properties:
849       - lf-infra-properties:
850           build-days-to-keep: "{build-days-to-keep}"
851
852     # Please keep parameters in alphabetical order
853     parameters:
854       # Not sure whether not failing has any useful usage,
855       # but it does not hurt to have some flexibility for future.
856       - csit-fail-on-crc-mismatch-parameter:
857           fail-on-crc-mismatch: 'True'
858       - gerrit-csit-refspec-parameter
859       - gerrit-parameter:
860           branch: '{branch}'
861       - gerrit-refspec-parameter:
862           refspec: '{branch-refspec}'
863       - project-parameter:
864           project: '{project}'
865       - stream-parameter:
866           stream: '{stream}'
867
868     scm:
869       - gerrit-trigger-scm:
870           credentials-id: 'jenkins-gerrit-credentials'
871           refspec: '$GERRIT_REFSPEC'
872           choosing-strategy: 'gerrit'
873
874     wrappers:
875       - fdio-infra-wrappers-non-activity-timeout:
876           build-timeout: 300
877
878     triggers:
879       - gerrit-trigger-checkstyle:
880           name: '{project}'
881           branch: '{branch}'
882
883     builders:
884       - shell:
885           !include-raw-escape:
886           - ../scripts/setup_executor_env.sh
887       - shell:
888           !include-raw-escape:
889           - ../scripts/setup_vpp_ubuntu_docker_test.sh
890       - shell:
891           !include-raw-escape:
892           - ../scripts/vpp/check_crc.sh
893     # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
894
895     publishers:
896       - fdio-infra-publish
897 # [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
898 # [end] JOB TEMPLATE DEFINITIONS