Add stable/2402 branch and remove stable/2306 branch to docker executor image scripts
[ci-management.git] / jjb / vpp / vpp.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 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:
37       - ubuntu2204
38     stream:
39       - 'master':
40           branch: 'master'
41           branch-refspec: ''
42       - '2310':
43           branch: 'stable/2310'
44           branch-refspec: ''
45       - '2402':
46           branch: 'stable/2402'
47           branch-refspec: ''
48     executor-arch: 'x86_64'
49
50 # [end] VPP-CHECKSTYLE-X86_64 PROJECT
51
52 # VPP-X86_64 PROJECT
53 #
54 # NOTE: The list of supported branches for each OS are maintained
55 #       in .../ci-management/docker/scripts/lib_vpp.sh
56 #       The job configuration must be derived from that list, thus
57 #       modifications to both should be made at the same time.
58 #       Since x86_64 is the primary development architecture, this
59 #       project definition should be identical to the docker image
60 #       build scripts.  Other architectures may be a subset.
61 - project:
62     name: vpp-x86_64
63     jobs:
64       - 'vpp-verify-{stream}-{os}-{executor-arch}'
65       - 'vpp-merge-{stream}-{os}-{executor-arch}'
66     project: 'vpp'
67     make-parallel-jobs: '4'
68     stream:
69       - 'master':
70           branch: 'master'
71           branch-refspec: ''
72           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
73           make-test-multiworker-os: 'debian-11'
74       - '2310':
75           branch: 'stable/2310'
76           branch-refspec: ''
77           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
78           make-test-multiworker-os: 'debian-11'
79       - '2402':
80           branch: 'stable/2402'
81           branch-refspec: ''
82           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
83           make-test-multiworker-os: 'debian-11'
84     os:
85       - debian11
86       - ubuntu2004
87       - ubuntu2204
88     executor-arch: 'x86_64'
89 # [end] VPP-X86_64 PROJECT
90
91 # VPP-GCC-X86_64 PROJECT
92 - project:
93     name: vpp-gcc-x86_64
94     jobs:
95       - 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
96     project: 'vpp'
97     make-parallel-jobs: '4'
98     os:
99       - ubuntu2204
100     executor-arch: 'x86_64'
101     stream:
102       - 'master':
103           branch: 'master'
104           branch-refspec: ''
105       - '2310':
106           branch: 'stable/2310'
107           branch-refspec: ''
108       - '2402':
109           branch: 'stable/2402'
110           branch-refspec: ''
111
112 # [end] VPP-GCC-X86_64 PROJECT
113
114 # VPP-DEBUG-X86_64 PROJECT
115 #
116 # Currently a periodic job due to intermittent failures.
117 # Limiting branches to master, since other branches
118 # may not get fixes for the intermittent failures.
119 #
120 - project:
121     name: vpp-debug-x86_64
122     jobs:
123       - 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
124     project: 'vpp'
125     make-parallel-jobs: '4'
126     make-test-os: 'ubuntu-20.04 ubuntu-22.04'
127     comment-trigger-value: 'debug-verify'
128     stream:
129       - 'master':
130           branch: 'master'
131           branch-refspec: ''
132           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
133     os: 'ubuntu2204'
134     executor-arch: 'x86_64'
135
136 # [end] VPP-DEBUG-X86_64 PROJECT
137
138 # VPP-DPDK-RDMA-VERSION-MISMATCH-X86_64 PROJECT
139 #
140 # Currently a periodic job due to intermittent failures.
141 # Limiting branches to master, since other branches
142 # may not get fixes for the intermittent failures.
143 #
144 - project:
145     name: vpp-dpdk-rdma-version-mismatch-x86_64
146     jobs:
147       - 'vpp-dpdk-rdma-version-mismatch-{stream}-{os}-{executor-arch}'
148     project: 'vpp'
149     make-test-os: 'ubuntu-20.04 ubuntu-22.04'
150     comment-trigger-value: 'dpdk-rdma-version-mismatch'
151     stream:
152       - 'master':
153           branch: 'master'
154           # Once per day at 00:15
155           periodicity: '15 0 * * 0-6'
156     os: 'ubuntu2204'
157     executor-arch: 'x86_64'
158
159 # [end] VPP-DPDK-RDMA-VERSION-MISMATCH-X86_64 PROJECT
160
161 # VPP-COV-X86_64 PROJECT
162 #
163 # A per-patch job to produce code coverage.
164 #
165 # TODO: switch OS to ubuntu-22.04 once the skipping of intermittently failing
166 #       tests are removed
167 #
168 - project:
169     name: vpp-cov-x86_64
170     jobs:
171       - 'vpp-cov-verify-{stream}-{os}-{executor-arch}'
172     project: 'vpp'
173     make-parallel-jobs: '4'
174     make-test-os: 'ubuntu-20.04 ubuntu-22.04'
175     comment-trigger-value: 'gcov-report'
176     stream:
177       - 'master':
178           branch: 'master'
179           branch-refspec: ''
180           # Once per day at 00:25
181           periodicity: '25 0 * * 0-6'
182     os: 'ubuntu2004'
183     executor-arch: 'x86_64'
184
185 # [end] VPP-COV-X86_64 PROJECT
186
187 # VPP-AARCH64 PROJECT
188 #
189 # NOTE: The list of supported branches for each OS are maintained
190 #       in .../ci-management/docker/scripts/lib_vpp.sh
191 #       The job configuration must be derived from that list, thus
192 #       modifications to both should be made at the same time.
193 #       The AARCH64 architecture is in the process of catching up
194 #       with X86_64 in terms of OS coverage.  Thus the jobs are
195 #       a subset of those defined in the docker image build script.
196 - project:
197     name: vpp-aarch64
198     jobs:
199       - 'vpp-verify-{stream}-{os}-{executor-arch}'
200       - 'vpp-merge-{stream}-{os}-{executor-arch}'
201     project: 'vpp'
202     make-parallel-jobs: '4'
203     stream:
204       - 'master':
205           branch: 'master'
206           branch-refspec: ''
207           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
208           make-test-multiworker-os: ''
209       - '2310':
210           branch: 'stable/2310'
211           branch-refspec: ''
212           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
213           make-test-multiworker-os: ''
214       - '2402':
215           branch: 'stable/2402'
216           branch-refspec: ''
217           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
218           make-test-multiworker-os: ''
219     os:
220       - ubuntu2004
221       - ubuntu2204
222     executor-arch: 'aarch64'
223 # [end] VPP-AARCH64 PROJECT
224
225 # VPP-CSIT-VERIFY-DEVICE PROJECT
226 - project:
227     name: vpp-csit-verify-device
228     jobs:
229       - 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}':
230           make-parallel-jobs: '32'
231     project: 'vpp'
232     skip-vote: 'false'
233     stream:
234       - 'master':
235           branch: 'master'
236           branch-refspec: ''
237       - '2310':
238           branch: 'stable/2310'
239           branch-refspec: ''
240       - '2402':
241           branch: 'stable/2402'
242           branch-refspec: ''
243     testbed-arch:
244       - 1n-spr:
245           os: 'ubuntu2204'
246           executor-arch: 'x86_64'
247           skip-vote: 'true'
248 #      - 1n-tx2:
249 #          os: 'ubuntu2204'
250 #          executor-arch: 'aarch64'
251 #          skip-vote: 'false'
252       - 1n-alt:
253           os: 'ubuntu2204'
254           executor-arch: 'aarch64'
255           skip-vote: 'true'
256     exclude:
257       # 1n-alt testbed not supported
258       # in CSIT prior to 2402
259       - testbed-arch: 1n-alt
260         stream: '2310'
261 # [end] VPP-CSIT-VERIFY-DEVICE PROJECT
262
263 # VPP-CSIT-VERIFY-PERF PROJECT
264 - project:
265     name: vpp-csit-verify-perf
266     jobs:
267       - 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
268       - 'vpp-csit-bisect-{stream}-{os}-{executor-arch}-{testbed-arch}'
269     project: 'vpp'
270     skip-vote: 'false'
271     stream:
272       - 'master':
273           branch: 'master'
274           branch-refspec: ''
275     testbed-arch:
276       - 2n-icx:
277           os: 'ubuntu2204'
278           executor-arch: 'x86_64'
279       - 2n-clx:
280           os: 'ubuntu2204'
281           executor-arch: 'x86_64'
282       - 2n-spr:
283           os: 'ubuntu2204'
284           executor-arch: 'x86_64'
285       - 2n-zn2:
286           os: 'ubuntu2204'
287           executor-arch: 'x86_64'
288       - 3n-icx:
289           os: 'ubuntu2204'
290           executor-arch: 'x86_64'
291       - 3n-tsh:
292           os: 'ubuntu2204'
293           executor-arch: 'aarch64'
294           make-parallel-jobs: '16'
295       - 3n-alt:
296           os: 'ubuntu2204'
297           executor-arch: 'aarch64'
298           make-parallel-jobs: '16'
299       - 2n-tx2:
300           os: 'ubuntu2204'
301           executor-arch: 'aarch64'
302           make-parallel-jobs: '16'
303       - 3n-snr:
304           os: 'ubuntu2204'
305           executor-arch: 'x86_64'
306       - 3n-icxd:
307           os: 'ubuntu2204'
308           executor-arch: 'x86_64'
309       - 3na-spr:
310           os: 'ubuntu2204'
311           executor-arch: 'x86_64'
312       - 3nb-spr:
313           os: 'ubuntu2204'
314           executor-arch: 'x86_64'
315 # [end] VPP-CSIT-VERIFY-PERF PROJECT
316
317 # VPP-CSIT-API-CRC PROJECT
318 #
319 # Only master and LTS branches are supported.
320 #
321 - project:
322     name: vpp-csit-api-crc
323     jobs:
324       - 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
325     project: 'vpp'
326     executor-arch: 'x86_64'
327     skip-vote: 'false'
328     stream:
329       - 'master':
330           branch: 'master'
331           branch-refspec: ''
332       - '2310':
333           branch: 'stable/2310'
334           branch-refspec: ''
335       - '2402':
336           branch: 'stable/2402'
337           branch-refspec: ''
338     os:
339       - 'ubuntu2204'
340 # [end] VPP-CSIT-API-CRC PROJECT
341
342 # LF RELENG VPP PROJECTS
343 - project:
344     name: vpp-info
345     project-name: vpp
346     jobs:
347       - gerrit-info-yaml-verify
348     build-node: centos7-builder-2c-2g
349     project: vpp
350     branch: master
351
352 - project:
353     name: vpp-view
354     views:
355       - project-view
356     project-name: vpp
357 # [end] LF RELENG VPP PROJECTS
358 # [end] PROJECT DEFINITIONS
359
360 # JOB TEMPLATE DEFINITIONS
361 #
362 # Please keep job templates in the same order as they are referenced
363 # in the project definitions above.
364
365 # VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
366 - job-template:
367     name: 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
368
369     project-type: freestyle
370     node: 'builder-{os}-prod-{executor-arch}'
371     concurrent: true
372
373     properties:
374       - lf-infra-properties:
375           build-days-to-keep: "{build-days-to-keep}"
376
377     # Please keep parameters in alphabetical order
378     parameters:
379       - gerrit-parameter:
380           branch: '{branch}'
381       - gerrit-refspec-parameter:
382           refspec: '{branch-refspec}'
383       - os-parameter:
384           os: '{os}'
385       - project-parameter:
386           project: '{project}'
387
388     scm:
389       - gerrit-trigger-scm:
390           credentials-id: 'jenkins-gerrit-credentials'
391           refspec: '$GERRIT_REFSPEC'
392           choosing-strategy: 'gerrit'
393
394     wrappers:
395       - fdio-infra-wrappers:
396           build-timeout: '{build-timeout}'
397       - credentials-binding:
398           - text:
399               credential-id: VppApiCompatNotify
400               variable: SECRET_WEBEX_TEAMS_ACCESS_TOKEN
401
402     triggers:
403       - gerrit:
404           server-name: 'Primary'
405           trigger-on:
406             - patchset-created-event:
407                 exclude-drafts: 'true'
408                 exclude-trivial-rebase: 'false'
409                 exclude-no-code-change: 'false'
410             - draft-published-event
411             - comment-added-contains-event:
412                 comment-contains-value: 'checkstylecheck'
413             - comment-added-contains-event:
414                 comment-contains-value: 'recheck'
415             - comment-added-contains-event:
416                 comment-contains-value: 'reverify'
417             # Following two are to cover missing functions of drafts
418             # going to review status
419             - comment-added-contains-event:
420                 comment-contains-value: 'runtest'
421             - comment-added-contains-event:
422                 comment-contains-value: 'This change is ready for review'
423           projects:
424             - project-compare-type: 'ANT'
425               project-pattern: '{project}'
426               branches:
427                 - branch-compare-type: 'ANT'
428                   branch-pattern: '**/{branch}'
429               file-paths:
430                 - compare-type: REG_EXP
431                   pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
432               forbidden-file-paths:
433                 - compare-type: REG_EXP
434                   pattern: .*extras\/emacs\/.*
435               disable-strict-forbidden-file-verification: 'true'
436           override-votes: true
437           gerrit-build-notbuilt-verified-value: 0
438           gerrit-build-successful-verified-value: 1
439           # yamllint disable-line rule:line-length
440           notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
441           # yamllint disable-line rule:line-length
442           failed-message: 'Checkstyle failed. No further verify jobs will be started.'
443           successful-message: 'checkstyle_success'
444           skip-vote:
445             successful: true
446             failed: false
447             unstable: false
448             notbuilt: false
449
450     builders:
451       - shell:
452           !include-raw-escape:
453           - ../scripts/setup_executor_env.sh
454       - shell:
455           !include-raw-escape:
456           - ../scripts/vpp/checkstyle.sh
457       - shell:
458           !include-raw-escape:
459           - ../scripts/vpp/test-checkstyle.sh
460       - shell:
461           !include-raw-escape:
462           - ../scripts/vpp/api-checkstyle.sh
463       - shell:
464           !include-raw-escape:
465           - ../scripts/vpp/commitmsg.sh
466       - shell:
467           !include-raw-escape:
468           - ../scripts/vpp/docs_spell.sh
469
470     publishers:
471       - fdio-infra-publish
472
473 # [end] VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
474
475 # VPP-VERIFY JOB TEMPLATE
476 - job-template:
477     name: 'vpp-verify-{stream}-{os}-{executor-arch}'
478
479     project-type: freestyle
480     node: 'builder-{os}-prod-{executor-arch}'
481     concurrent: true
482
483     properties:
484       - lf-infra-properties:
485           build-days-to-keep: "{build-days-to-keep}"
486
487     # Please keep parameters in alphabetical order
488     parameters:
489       - gerrit-parameter:
490           branch: '{branch}'
491       - gerrit-refspec-parameter:
492           refspec: '{branch-refspec}'
493       - make-parallel-jobs-parameter:
494           make-parallel-jobs: '{make-parallel-jobs}'
495       - make-test-os-parameter:
496           make-test-os: '{make-test-os}'
497       - make-test-multiworker-os-parameter:
498           make-test-multiworker-os: '{make-test-multiworker-os}'
499       - os-parameter:
500           os: '{os}'
501       - project-parameter:
502           project: '{project}'
503       - stream-parameter:
504           stream: '{stream}'
505
506     scm:
507       - gerrit-trigger-scm:
508           credentials-id: 'jenkins-gerrit-credentials'
509           refspec: '$GERRIT_REFSPEC'
510           choosing-strategy: 'gerrit'
511
512     wrappers:
513       - fdio-infra-wrappers:
514           build-timeout: 120
515
516     triggers:
517       - gerrit-trigger-checkstyle:
518           name: '{project}'
519           branch: '{branch}'
520
521     builders:
522       - shell:
523           !include-raw-escape:
524           - ../scripts/setup_executor_env.sh
525       - shell:
526           !include-raw-escape:
527           - ../scripts/setup_vpp_ubuntu_docker_test.sh
528       - shell:
529           !include-raw-escape:
530           - ../scripts/setup_vpp_ext_deps.sh
531       - shell:
532           !include-raw-escape:
533           - ../scripts/vpp/build.sh
534
535     publishers:
536       - fdio-infra-publish
537 # [end] VPP-VERIFY JOB TEMPLATE
538
539 # VPP-DEBUG-VERIFY JOB TEMPLATE
540 - job-template:
541     name: 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
542
543     project-type: freestyle
544     node: 'builder-{os}-prod-{executor-arch}'
545     concurrent: true
546
547     properties:
548       - lf-infra-properties:
549           build-days-to-keep: "{build-days-to-keep}"
550
551     # Please keep parameters in alphabetical order
552     parameters:
553       - gerrit-parameter:
554           branch: '{branch}'
555       - gerrit-refspec-parameter:
556           refspec: '{branch-refspec}'
557       - make-parallel-jobs-parameter:
558           make-parallel-jobs: '{make-parallel-jobs}'
559       - make-test-os-parameter:
560           make-test-os: '{make-test-os}'
561       - os-parameter:
562           os: '{os}'
563       - project-parameter:
564           project: '{project}'
565       - stream-parameter:
566           stream: '{stream}'
567
568     scm:
569       - gerrit-trigger-scm:
570           credentials-id: 'jenkins-gerrit-credentials'
571           refspec: '$GERRIT_REFSPEC'
572           choosing-strategy: 'gerrit'
573
574     wrappers:
575       - fdio-infra-wrappers:
576           build-timeout: '{build-timeout}'
577
578     triggers:
579       - gerrit-trigger-checkstyle-nonvoting:
580           name: '{project}'
581           branch: '{branch}'
582
583     builders:
584       - shell:
585           !include-raw-escape:
586           - ../scripts/setup_executor_env.sh
587       - shell:
588           !include-raw-escape:
589           - ../scripts/setup_vpp_ubuntu_docker_test.sh
590       - shell:
591           !include-raw-escape:
592           - ../scripts/setup_vpp_ext_deps.sh
593       - shell:
594           !include-raw-escape:
595           - ../scripts/vpp/debug-build.sh
596
597     publishers:
598       - fdio-infra-publish
599 # [end] VPP-DEBUG-VERIFY JOB TEMPLATE
600
601 # VPP-DPDK-RDMA-VERSION-MISMATCH PERIODIC JOB TEMPLATE
602 - job-template:
603     name: 'vpp-dpdk-rdma-version-mismatch-{stream}-{os}-{executor-arch}'
604
605     project-type: freestyle
606     node: 'builder-{os}-prod-{executor-arch}'
607     concurrent: true
608
609     properties:
610       - lf-infra-properties:
611           build-days-to-keep: "{build-days-to-keep}"
612
613     # Please keep parameters in alphabetical order
614     parameters:
615       - gerrit-parameter:
616           branch: '{branch}'
617       - make-parallel-jobs-parameter:
618           make-parallel-jobs: '{make-parallel-jobs}'
619       - make-test-os-parameter:
620           make-test-os: '{make-test-os}'
621       - os-parameter:
622           os: '{os}'
623       - project-parameter:
624           project: '{project}'
625       - stream-parameter:
626           stream: '{stream}'
627
628     scm:
629       - gerrit-trigger-scm:
630           credentials-id: 'jenkins-gerrit-credentials'
631           refspec: ''
632           choosing-strategy: 'default'
633
634     wrappers:
635       - fdio-infra-wrappers:
636           build-timeout: '{build-timeout}'
637
638     triggers:
639       - timed: '{periodicity}'
640       - gerrit-trigger-manually-triggered:
641           comment-trigger-value: '{comment-trigger-value}'
642           name: '{project}'
643           branch: '{branch}'
644
645     builders:
646       - shell:
647           !include-raw-escape:
648           - ../scripts/setup_executor_env.sh
649       - shell:
650           !include-raw-escape:
651           - ../scripts/setup_vpp_ubuntu_docker_test.sh
652       - shell:
653           !include-raw-escape:
654           - ../scripts/vpp/dpdk-rdma-version-mismatch.sh
655
656     publishers:
657       - vpp-dpdk-rdma-version-mismatch:
658           branch: '{branch}'
659       - fdio-infra-publish
660 # [end] VPP-DPDK-RDMA-VERSION-MISMATCH PERIODIC JOB TEMPLATE
661
662 # VPP-MERGE JOB TEMPLATE
663 - job-template:
664     name: 'vpp-merge-{stream}-{os}-{executor-arch}'
665
666     project-type: freestyle
667     node: 'builder-{os}-prod-{executor-arch}'
668
669     properties:
670       - lf-infra-properties:
671           build-days-to-keep: "{build-days-to-keep}"
672
673     # Please keep parameters in alphabetical order
674     parameters:
675       - gerrit-parameter:
676           branch: '{branch}'
677       - make-parallel-jobs-parameter:
678           make-parallel-jobs: '{make-parallel-jobs}'
679       - make-test-os-parameter:
680           make-test-os: '{make-test-os}'
681       - make-test-multiworker-os-parameter:
682           make-test-multiworker-os: '{make-test-multiworker-os}'
683       - os-parameter:
684           os: '{os}'
685       - project-parameter:
686           project: '{project}'
687       - stream-parameter:
688           stream: '{stream}'
689
690     scm:
691       - gerrit-trigger-scm:
692           credentials-id: 'jenkins-gerrit-credentials'
693           refspec: ''
694           choosing-strategy: 'default'
695
696     wrappers:
697       - fdio-infra-wrappers:
698           build-timeout: 120
699
700     triggers:
701       - gerrit-trigger-patch-merged:
702           name: '{project}'
703           branch: '{branch}'
704
705     builders:
706       - config-file-provider:
707           files:
708             - file-id: '.packagecloud'
709               target: '/root/.packagecloud'
710       - config-file-provider:
711           files:
712             - file-id: 'packagecloud_api'
713               target: '/root/packagecloud_api'
714       - shell:
715           !include-raw-escape:
716           - ../scripts/setup_executor_env.sh
717       - shell:
718           !include-raw-escape:
719           - ../scripts/vpp/commitmsg.sh
720       - shell:
721           !include-raw-escape:
722           - ../scripts/setup_vpp_ubuntu_docker_test.sh
723       - shell:
724           !include-raw-escape:
725           - ../scripts/setup_vpp_ext_deps.sh
726       - shell:
727           !include-raw-escape:
728           - ../scripts/vpp/build.sh
729       - shell:
730           !include-raw-escape:
731           - ../scripts/packagecloud_push.sh
732
733     publishers:
734       - fdio-infra-publish
735 # [end] VPP-MERGE JOB TEMPLATE
736
737 # VPP-GCC-VERIFY JOB TEMPLATE
738 - job-template:
739     name: 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
740
741     project-type: freestyle
742     node: 'builder-{os}-prod-{executor-arch}'
743     concurrent: true
744
745     properties:
746       - lf-infra-properties:
747           build-days-to-keep: "{build-days-to-keep}"
748
749     # Please keep parameters in alphabetical order
750     parameters:
751       - gerrit-parameter:
752           branch: '{branch}'
753       - gerrit-refspec-parameter:
754           refspec: '{branch-refspec}'
755       - make-parallel-jobs-parameter:
756           make-parallel-jobs: '{make-parallel-jobs}'
757       - os-parameter:
758           os: '{os}'
759       - project-parameter:
760           project: '{project}'
761       - stream-parameter:
762           stream: '{stream}'
763
764     scm:
765       - gerrit-trigger-scm:
766           credentials-id: 'jenkins-gerrit-credentials'
767           refspec: '$GERRIT_REFSPEC'
768           choosing-strategy: 'gerrit'
769
770     wrappers:
771       - fdio-infra-wrappers:
772           build-timeout: 120
773
774     triggers:
775       - gerrit-trigger-checkstyle:
776           name: '{project}'
777           branch: '{branch}'
778
779     builders:
780       - shell:
781           !include-raw-escape:
782           - ../scripts/setup_executor_env.sh
783       - shell:
784           !include-raw-escape:
785           - ../scripts/setup_vpp_ubuntu_docker_test.sh
786       - shell:
787           !include-raw-escape:
788           - ../scripts/setup_vpp_ext_deps.sh
789       - shell:
790           !include-raw-escape:
791           - ../scripts/vpp/gcc-build.sh
792
793     publishers:
794       - fdio-infra-publish
795 # [end] VPP-GCC-VERIFY JOB TEMPLATE
796
797 # VPP-COV-VERIFY JOB TEMPLATE
798 - job-template:
799     name: 'vpp-cov-verify-{stream}-{os}-{executor-arch}'
800
801     project-type: freestyle
802     node: 'builder-{os}-prod-{executor-arch}'
803     concurrent: true
804
805     properties:
806       - lf-infra-properties:
807           build-days-to-keep: "{build-days-to-keep}"
808
809     # Please keep parameters in alphabetical order
810     parameters:
811       - gerrit-parameter:
812           branch: '{branch}'
813       - make-parallel-jobs-parameter:
814           make-parallel-jobs: '{make-parallel-jobs}'
815       - make-test-os-parameter:
816           make-test-os: '{make-test-os}'
817       - os-parameter:
818           os: '{os}'
819       - project-parameter:
820           project: '{project}'
821       - stream-parameter:
822           stream: '{stream}'
823
824     scm:
825       - gerrit-trigger-scm:
826           credentials-id: 'jenkins-gerrit-credentials'
827           refspec: ''
828           choosing-strategy: 'default'
829
830     wrappers:
831       - fdio-infra-wrappers:
832           build-timeout: '{build-timeout}'
833
834     triggers:
835       - timed: '{periodicity}'
836       - gerrit-trigger-manually-triggered:
837           comment-trigger-value: '{comment-trigger-value}'
838           name: '{project}'
839           branch: '{branch}'
840
841     builders:
842       - shell:
843           !include-raw-escape:
844           - ../scripts/setup_executor_env.sh
845       - shell:
846           !include-raw-escape:
847           - ../scripts/setup_vpp_ubuntu_docker_test.sh
848       - shell:
849           !include-raw-escape:
850           - ../scripts/setup_vpp_ext_deps.sh
851       - shell:
852           !include-raw-escape:
853           - ../scripts/vpp/cov-build.sh
854
855     publishers:
856       - fdio-infra-publish-cov-7day
857       - fdio-infra-publish
858 # [end] VPP-COV-VERIFY JOB TEMPLATE
859
860 # VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
861 - job-template:
862     name: 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}'
863     description: |
864       <ul>
865           <li>executor
866               <ul>
867                   <li>csit-builder-{os}-prod-{executor-arch}
868               </ul>
869           <li>testbed architecture
870               <ul>
871                   <li>{testbed-arch}
872               </ul>
873       </ul>
874
875     project-type: freestyle
876     node: 'csit-builder-{os}-prod-{executor-arch}'
877     concurrent: true
878     latest-only: false
879
880     properties:
881       - lf-infra-properties:
882           build-days-to-keep: "{build-days-to-keep}"
883
884     # Please keep parameters in alphabetical order
885     parameters:
886       - gerrit-csit-refspec-parameter
887       - gerrit-event-comment-text-parameter
888       - gerrit-event-type-parameter
889       - gerrit-parameter:
890           branch: '{branch}'
891       - gerrit-refspec-parameter:
892           refspec: '{branch-refspec}'
893       - make-parallel-jobs-parameter:
894           make-parallel-jobs: '{make-parallel-jobs}'
895       - os-parameter:
896           os: '{os}'
897       - project-parameter:
898           project: '{project}'
899       - stream-parameter:
900           stream: '{stream}'
901
902     scm:
903       - gerrit-trigger-scm:
904           credentials-id: 'jenkins-gerrit-credentials'
905           refspec: '$GERRIT_REFSPEC'
906           choosing-strategy: 'gerrit'
907
908     wrappers:
909       - fdio-infra-wrappers:
910           build-timeout: '90'
911
912     triggers:
913       - 'gerrit-trigger-vpp-csit-devicetest-full':
914           name: '{project}'
915           branch: '{branch}'
916           skip-vote: '{skip-vote}'
917
918     builders:
919       - shell:
920           !include-raw-escape:
921           - ../scripts/setup_executor_env.sh
922       - shell:
923           !include-raw-escape:
924           - ../scripts/setup_vpp_ubuntu_docker_test.sh
925       - shell:
926           !include-raw-escape:
927           - ../scripts/setup_vpp_ext_deps.sh
928       - shell:
929           !include-raw-escape:
930           - ../scripts/vpp/csit-device.sh
931
932     publishers:
933       - fdio-infra-publish
934 # [end] VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
935
936 # VPP-CSIT-VERIFY-PERF JOB TEMPLATE
937 - job-template:
938     name: 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
939     description: |
940       <ul>
941           <li>executor
942               <ul>
943                   <li>builder-{os}-prod-{executor-arch}
944               </ul>
945           <li>testbed architecture
946               <ul>
947                   <li>{testbed-arch}
948               </ul>
949           <li>Objective
950           Contrary to csit-vpp job, this also measures the parent performance,
951           and fails if performance regression is detected.
952           See https://github.com/FDio/csit/blob/master/docs/cpta/methodology/perpatch_performance_tests.rst
953       </ul>
954
955     project-type: freestyle
956     node: 'builder-{os}-prod-{executor-arch}'
957     concurrent: true
958     latest-only: false
959
960     properties:
961       - lf-infra-properties:
962           build-days-to-keep: "{build-days-to-keep}"
963
964     # Please keep parameters in alphabetical order
965     parameters:
966       - csit-perf-trial-duration-parameter:
967           csit-perf-trial-duration: "10.0"
968       - csit-perf-trial-multiplicity-parameter:
969           csit-perf-trial-multiplicity: "5"
970       - gerrit-csit-refspec-parameter
971       - gerrit-event-comment-text-parameter
972       - gerrit-event-type-parameter
973       - gerrit-refspec-parameter:
974           refspec: '{branch-refspec}'
975       - gerrit-parameter:
976           branch: '{branch}'
977       - make-parallel-jobs-parameter:
978           make-parallel-jobs: '{make-parallel-jobs}'
979       - os-parameter:
980           os: '{os}'
981       - project-parameter:
982           project: '{project}'
983       - stream-parameter:
984           stream: '{stream}'
985
986     scm:
987       - gerrit-trigger-scm:
988           credentials-id: 'jenkins-gerrit-credentials'
989           refspec: '$GERRIT_REFSPEC'
990           choosing-strategy: 'gerrit'
991
992     wrappers:
993       - fdio-infra-wrappers-non-activity-timeout:
994           build-timeout: 300
995
996     triggers:
997       - gerrit-trigger-csit-perftest:
998           project: '{project}'
999           branch: '{branch}'
1000           trigger-word: 'perftest-{testbed-arch}'
1001           skip-vote: true
1002
1003     builders:
1004       - shell:
1005           !include-raw-escape:
1006           - ../scripts/setup_executor_env.sh
1007       - shell:
1008           !include-raw-escape:
1009           - ../scripts/setup_vpp_ubuntu_docker_test.sh
1010       - shell:
1011           !include-raw-escape:
1012           - ../scripts/setup_vpp_ext_deps.sh
1013       - shell:
1014           !include-raw-escape:
1015           - ../scripts/vpp/csit-perf.sh
1016
1017     publishers:
1018       - postbuildscript:
1019           # Can be removed when all CSIT branches use correct archive directory.
1020           builders:
1021             - build-on:
1022                 - ABORTED
1023                 - FAILURE
1024                 - NOT_BUILT
1025                 - SUCCESS
1026                 - UNSTABLE
1027               build-steps:
1028                 - shell:
1029                     !include-raw-escape:
1030                     - ../scripts/vpp/copy_archives.sh
1031       - fdio-infra-publish
1032 # [end] VPP-CSIT-VERIFY-PERF JOB TEMPLATE
1033
1034 # VPP-CSIT-BISECT JOB TEMPLATE
1035 - job-template:
1036     name: 'vpp-csit-bisect-{stream}-{os}-{executor-arch}-{testbed-arch}'
1037     description: |
1038       <ul>
1039           <li>executor
1040               <ul>
1041                   <li>builder-{os}-prod-{executor-arch}
1042               </ul>
1043           <li>testbed architecture
1044               <ul>
1045                   <li>{testbed-arch}
1046               </ul>
1047           <li>Objective
1048               <ul>
1049                   <li>Find a cause of VPP performance jump among VPP commits.
1050               </ul>
1051       </ul>
1052
1053     project-type: freestyle
1054     node: 'builder-{os}-prod-{executor-arch}'
1055     concurrent: true
1056     latest-only: false
1057
1058     properties:
1059       - lf-infra-properties:
1060           build-days-to-keep: "{build-days-to-keep}"
1061
1062     # Please keep parameters in alphabetical order
1063     parameters:
1064       - csit-perf-trial-duration-parameter:
1065           csit-perf-trial-duration: "1.0"
1066       - csit-perf-trial-multiplicity-parameter:
1067           csit-perf-trial-multiplicity: "60"
1068       - gerrit-csit-refspec-parameter
1069       - gerrit-event-comment-text-parameter
1070       - gerrit-event-type-parameter
1071       - gerrit-refspec-parameter:
1072           refspec: '{branch-refspec}'
1073       - gerrit-parameter:
1074           branch: '{branch}'
1075       - make-parallel-jobs-parameter:
1076           make-parallel-jobs: '{make-parallel-jobs}'
1077       - os-parameter:
1078           os: '{os}'
1079       - project-parameter:
1080           project: '{project}'
1081       - stream-parameter:
1082           stream: '{stream}'
1083
1084     scm:
1085       - gerrit-trigger-scm:
1086           credentials-id: 'jenkins-gerrit-credentials'
1087           refspec: '$GERRIT_REFSPEC'
1088           choosing-strategy: 'gerrit'
1089
1090     wrappers:
1091       - fdio-infra-wrappers-non-activity-timeout:
1092           build-timeout: 300
1093
1094     triggers:
1095       - gerrit-trigger-csit-perftest:
1096           project: '{project}'
1097           branch: '{branch}'
1098           trigger-word: 'bisecttest-{testbed-arch}'
1099           skip-vote: true
1100
1101     builders:
1102       - shell:
1103           !include-raw-escape:
1104           - ../scripts/setup_executor_env.sh
1105       - shell:
1106           !include-raw-escape:
1107           - ../scripts/setup_vpp_ubuntu_docker_test.sh
1108       - shell:
1109           !include-raw-escape:
1110           - ../scripts/setup_vpp_ext_deps.sh
1111       - shell:
1112           !include-raw-escape:
1113           - ../scripts/vpp/csit-bisect.sh
1114
1115     publishers:
1116       - postbuildscript:
1117           # Can be removed when all CSIT branches use correct archive directory.
1118           builders:
1119             - build-on:
1120                 - ABORTED
1121                 - FAILURE
1122                 - NOT_BUILT
1123                 - SUCCESS
1124                 - UNSTABLE
1125               build-steps:
1126                 - shell:
1127                     !include-raw-escape:
1128                     - ../scripts/vpp/copy_archives.sh
1129       - fdio-infra-publish
1130 # [end] VPP-CSIT-BISECT JOB TEMPLATE
1131
1132 # VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
1133 - job-template:
1134     name: 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
1135
1136     project-type: freestyle
1137     node: 'builder-{os}-prod-{executor-arch}'
1138     concurrent: true
1139     latest-only: false
1140
1141     properties:
1142       - lf-infra-properties:
1143           build-days-to-keep: "{build-days-to-keep}"
1144
1145     # Please keep parameters in alphabetical order
1146     parameters:
1147       # Not sure whether not failing has any useful usage,
1148       # but it does not hurt to have some flexibility for future.
1149       - csit-fail-on-crc-mismatch-parameter:
1150           fail-on-crc-mismatch: 'True'
1151       - gerrit-csit-refspec-parameter
1152       - gerrit-parameter:
1153           branch: '{branch}'
1154       - gerrit-refspec-parameter:
1155           refspec: '{branch-refspec}'
1156       - project-parameter:
1157           project: '{project}'
1158       - stream-parameter:
1159           stream: '{stream}'
1160
1161     scm:
1162       - gerrit-trigger-scm:
1163           credentials-id: 'jenkins-gerrit-credentials'
1164           refspec: '$GERRIT_REFSPEC'
1165           choosing-strategy: 'gerrit'
1166
1167     wrappers:
1168       - fdio-infra-wrappers-non-activity-timeout:
1169           build-timeout: 300
1170
1171     triggers:
1172       - gerrit-trigger-checkstyle:
1173           name: '{project}'
1174           branch: '{branch}'
1175
1176     builders:
1177       - shell:
1178           !include-raw-escape:
1179           - ../scripts/setup_executor_env.sh
1180       - shell:
1181           !include-raw-escape:
1182           - ../scripts/setup_vpp_ubuntu_docker_test.sh
1183       - shell:
1184           !include-raw-escape:
1185           - ../scripts/vpp/check_crc.sh
1186     # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
1187
1188     publishers:
1189       - fdio-infra-publish
1190 # [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
1191 # [end] JOB TEMPLATE DEFINITIONS
1192
1193 - project:
1194     name: vpp-release
1195     project: vpp
1196     project-name: vpp
1197     build-node: centos8-builder-2c-2g
1198     mvn-settings: vpp-settings
1199     jobs:
1200       - "gerrit-packagecloud-release-verify"
1201
1202 - project:
1203     name: vpp-packagecloud-release
1204     project: vpp
1205     project-name: vpp
1206     build-node: centos8-builder-2c-2g
1207     mvn-settings: vpp-settings
1208     jobs:
1209       - "gerrit-packagecloud-release-merge"
1210       - "{project-name}-gerrit-release-jobs"