chore(post-release-cleanup): clean up VPP CI jobs post VPP 23.10 release
[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       - '2306':
43           branch: 'stable/2306'
44           branch-refspec: ''
45       - '2310':
46           branch: 'stable/2310'
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       - '2306':
75           branch: 'stable/2306'
76           branch-refspec: ''
77           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
78           make-test-multiworker-os: 'debian-11'
79       - '2310':
80           branch: 'stable/2310'
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       - '2306':
106           branch: 'stable/2306'
107           branch-refspec: ''
108       - '2310':
109           branch: 'stable/2310'
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       - '2306':
210           branch: 'stable/2306'
211           branch-refspec: ''
212           make-test-os: 'ubuntu-20.04 ubuntu-22.04'
213           make-test-multiworker-os: ''
214       - '2310':
215           branch: 'stable/2310'
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       - '2306':
238           branch: 'stable/2306'
239           branch-refspec: ''
240       - '2310':
241           branch: 'stable/2310'
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 # [end] VPP-CSIT-VERIFY-DEVICE PROJECT
253
254 # VPP-CSIT-VERIFY-PERF PROJECT
255 - project:
256     name: vpp-csit-verify-perf
257     jobs:
258       - 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
259     project: 'vpp'
260     skip-vote: 'false'
261     stream:
262       - 'master':
263           branch: 'master'
264           branch-refspec: ''
265     testbed-arch:
266       - 2n-icx:
267           os: 'ubuntu2204'
268           executor-arch: 'x86_64'
269       - 2n-clx:
270           os: 'ubuntu2204'
271           executor-arch: 'x86_64'
272       - 2n-spr:
273           os: 'ubuntu2204'
274           executor-arch: 'x86_64'
275       - 2n-zn2:
276           os: 'ubuntu2204'
277           executor-arch: 'x86_64'
278       - 3n-icx:
279           os: 'ubuntu2204'
280           executor-arch: 'x86_64'
281       - 3n-tsh:
282           os: 'ubuntu2204'
283           executor-arch: 'aarch64'
284           make-parallel-jobs: '16'
285       - 3n-alt:
286           os: 'ubuntu2204'
287           executor-arch: 'aarch64'
288           make-parallel-jobs: '16'
289       - 2n-tx2:
290           os: 'ubuntu2204'
291           executor-arch: 'aarch64'
292           make-parallel-jobs: '16'
293       - 3n-snr:
294           os: 'ubuntu2204'
295           executor-arch: 'x86_64'
296       - 3n-icxd:
297           os: 'ubuntu2204'
298           executor-arch: 'x86_64'
299       - 3na-spr:
300           os: 'ubuntu2204'
301           executor-arch: 'x86_64'
302       - 3nb-spr:
303           os: 'ubuntu2204'
304           executor-arch: 'x86_64'
305 # [end] VPP-CSIT-VERIFY-PERF PROJECT
306
307 # VPP-CSIT-API-CRC PROJECT
308 #
309 # Only master and LTS branches are supported.
310 #
311 - project:
312     name: vpp-csit-api-crc
313     jobs:
314       - 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
315     project: 'vpp'
316     executor-arch: 'x86_64'
317     skip-vote: 'false'
318     stream:
319       - 'master':
320           branch: 'master'
321           branch-refspec: ''
322       - '2306':
323           branch: 'stable/2306'
324           branch-refspec: ''
325       - '2310':
326           branch: 'stable/2310'
327           branch-refspec: ''
328     os:
329       - 'ubuntu2204'
330 # [end] VPP-CSIT-API-CRC PROJECT
331
332 # LF RELENG VPP PROJECTS
333 - project:
334     name: vpp-info
335     project-name: vpp
336     jobs:
337       - gerrit-info-yaml-verify
338     build-node: centos7-builder-2c-2g
339     project: vpp
340     branch: master
341
342 - project:
343     name: vpp-view
344     views:
345       - project-view
346     project-name: vpp
347 # [end] LF RELENG VPP PROJECTS
348 # [end] PROJECT DEFINITIONS
349
350 # JOB TEMPLATE DEFINITIONS
351 #
352 # Please keep job templates in the same order as they are referenced
353 # in the project definitions above.
354
355 # VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
356 - job-template:
357     name: 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
358
359     project-type: freestyle
360     node: 'builder-{os}-prod-{executor-arch}'
361     concurrent: true
362
363     properties:
364       - lf-infra-properties:
365           build-days-to-keep: "{build-days-to-keep}"
366
367     # Please keep parameters in alphabetical order
368     parameters:
369       - gerrit-parameter:
370           branch: '{branch}'
371       - gerrit-refspec-parameter:
372           refspec: '{branch-refspec}'
373       - os-parameter:
374           os: '{os}'
375       - project-parameter:
376           project: '{project}'
377
378     scm:
379       - gerrit-trigger-scm:
380           credentials-id: 'jenkins-gerrit-credentials'
381           refspec: '$GERRIT_REFSPEC'
382           choosing-strategy: 'gerrit'
383
384     wrappers:
385       - fdio-infra-wrappers:
386           build-timeout: '{build-timeout}'
387       - credentials-binding:
388           - text:
389               credential-id: VppApiCompatNotify
390               variable: SECRET_WEBEX_TEAMS_ACCESS_TOKEN
391
392     triggers:
393       - gerrit:
394           server-name: 'Primary'
395           trigger-on:
396             - patchset-created-event:
397                 exclude-drafts: 'true'
398                 exclude-trivial-rebase: 'false'
399                 exclude-no-code-change: 'false'
400             - draft-published-event
401             - comment-added-contains-event:
402                 comment-contains-value: 'checkstylecheck'
403             - comment-added-contains-event:
404                 comment-contains-value: 'recheck'
405             - comment-added-contains-event:
406                 comment-contains-value: 'reverify'
407             # Following two are to cover missing functions of drafts
408             # going to review status
409             - comment-added-contains-event:
410                 comment-contains-value: 'runtest'
411             - comment-added-contains-event:
412                 comment-contains-value: 'This change is ready for review'
413           projects:
414             - project-compare-type: 'ANT'
415               project-pattern: '{project}'
416               branches:
417                 - branch-compare-type: 'ANT'
418                   branch-pattern: '**/{branch}'
419               file-paths:
420                 - compare-type: REG_EXP
421                   pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
422               forbidden-file-paths:
423                 - compare-type: REG_EXP
424                   pattern: .*extras\/emacs\/.*
425               disable-strict-forbidden-file-verification: 'true'
426           override-votes: true
427           gerrit-build-notbuilt-verified-value: 0
428           gerrit-build-successful-verified-value: 1
429           # yamllint disable-line rule:line-length
430           notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
431           # yamllint disable-line rule:line-length
432           failed-message: 'Checkstyle failed. No further verify jobs will be started.'
433           successful-message: 'checkstyle_success'
434           skip-vote:
435             successful: true
436             failed: false
437             unstable: false
438             notbuilt: false
439
440     builders:
441       - shell:
442           !include-raw-escape:
443           - ../scripts/setup_executor_env.sh
444       - shell:
445           !include-raw-escape:
446           - ../scripts/vpp/checkstyle.sh
447       - shell:
448           !include-raw-escape:
449           - ../scripts/vpp/test-checkstyle.sh
450       - shell:
451           !include-raw-escape:
452           - ../scripts/vpp/api-checkstyle.sh
453       - shell:
454           !include-raw-escape:
455           - ../scripts/vpp/commitmsg.sh
456       - shell:
457           !include-raw-escape:
458           - ../scripts/vpp/docs_spell.sh
459
460     publishers:
461       - fdio-infra-publish
462
463 # [end] VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
464
465 # VPP-VERIFY JOB TEMPLATE
466 - job-template:
467     name: 'vpp-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       - make-test-multiworker-os-parameter:
488           make-test-multiworker-os: '{make-test-multiworker-os}'
489       - os-parameter:
490           os: '{os}'
491       - project-parameter:
492           project: '{project}'
493       - stream-parameter:
494           stream: '{stream}'
495
496     scm:
497       - gerrit-trigger-scm:
498           credentials-id: 'jenkins-gerrit-credentials'
499           refspec: '$GERRIT_REFSPEC'
500           choosing-strategy: 'gerrit'
501
502     wrappers:
503       - fdio-infra-wrappers:
504           build-timeout: 120
505
506     triggers:
507       - gerrit-trigger-checkstyle:
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/build.sh
524
525     publishers:
526       - fdio-infra-publish
527 # [end] VPP-VERIFY JOB TEMPLATE
528
529 # VPP-DEBUG-VERIFY JOB TEMPLATE
530 - job-template:
531     name: 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
532
533     project-type: freestyle
534     node: 'builder-{os}-prod-{executor-arch}'
535     concurrent: true
536
537     properties:
538       - lf-infra-properties:
539           build-days-to-keep: "{build-days-to-keep}"
540
541     # Please keep parameters in alphabetical order
542     parameters:
543       - gerrit-parameter:
544           branch: '{branch}'
545       - gerrit-refspec-parameter:
546           refspec: '{branch-refspec}'
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: '$GERRIT_REFSPEC'
562           choosing-strategy: 'gerrit'
563
564     wrappers:
565       - fdio-infra-wrappers:
566           build-timeout: '{build-timeout}'
567
568     triggers:
569       - gerrit-trigger-checkstyle-nonvoting:
570           name: '{project}'
571           branch: '{branch}'
572
573     builders:
574       - shell:
575           !include-raw-escape:
576           - ../scripts/setup_executor_env.sh
577       - shell:
578           !include-raw-escape:
579           - ../scripts/setup_vpp_ubuntu_docker_test.sh
580       - shell:
581           !include-raw-escape:
582           - ../scripts/setup_vpp_ext_deps.sh
583       - shell:
584           !include-raw-escape:
585           - ../scripts/vpp/debug-build.sh
586
587     publishers:
588       - fdio-infra-publish
589 # [end] VPP-DEBUG-VERIFY JOB TEMPLATE
590
591 # VPP-DPDK-RDMA-VERSION-MISMATCH PERIODIC JOB TEMPLATE
592 - job-template:
593     name: 'vpp-dpdk-rdma-version-mismatch-{stream}-{os}-{executor-arch}'
594
595     project-type: freestyle
596     node: 'builder-{os}-prod-{executor-arch}'
597     concurrent: true
598
599     properties:
600       - lf-infra-properties:
601           build-days-to-keep: "{build-days-to-keep}"
602
603     # Please keep parameters in alphabetical order
604     parameters:
605       - gerrit-parameter:
606           branch: '{branch}'
607       - make-parallel-jobs-parameter:
608           make-parallel-jobs: '{make-parallel-jobs}'
609       - make-test-os-parameter:
610           make-test-os: '{make-test-os}'
611       - os-parameter:
612           os: '{os}'
613       - project-parameter:
614           project: '{project}'
615       - stream-parameter:
616           stream: '{stream}'
617
618     scm:
619       - gerrit-trigger-scm:
620           credentials-id: 'jenkins-gerrit-credentials'
621           refspec: ''
622           choosing-strategy: 'default'
623
624     wrappers:
625       - fdio-infra-wrappers:
626           build-timeout: '{build-timeout}'
627
628     triggers:
629       - timed: '{periodicity}'
630       - gerrit-trigger-manually-triggered:
631           comment-trigger-value: '{comment-trigger-value}'
632           name: '{project}'
633           branch: '{branch}'
634
635     builders:
636       - shell:
637           !include-raw-escape:
638           - ../scripts/setup_executor_env.sh
639       - shell:
640           !include-raw-escape:
641           - ../scripts/setup_vpp_ubuntu_docker_test.sh
642       - shell:
643           !include-raw-escape:
644           - ../scripts/vpp/dpdk-rdma-version-mismatch.sh
645
646     publishers:
647       - vpp-dpdk-rdma-version-mismatch:
648           branch: '{branch}'
649       - fdio-infra-publish
650 # [end] VPP-DPDK-RDMA-VERSION-MISMATCH PERIODIC JOB TEMPLATE
651
652 # VPP-MERGE JOB TEMPLATE
653 - job-template:
654     name: 'vpp-merge-{stream}-{os}-{executor-arch}'
655
656     project-type: freestyle
657     node: 'builder-{os}-prod-{executor-arch}'
658
659     properties:
660       - lf-infra-properties:
661           build-days-to-keep: "{build-days-to-keep}"
662
663     # Please keep parameters in alphabetical order
664     parameters:
665       - gerrit-parameter:
666           branch: '{branch}'
667       - make-parallel-jobs-parameter:
668           make-parallel-jobs: '{make-parallel-jobs}'
669       - make-test-os-parameter:
670           make-test-os: '{make-test-os}'
671       - make-test-multiworker-os-parameter:
672           make-test-multiworker-os: '{make-test-multiworker-os}'
673       - os-parameter:
674           os: '{os}'
675       - project-parameter:
676           project: '{project}'
677       - stream-parameter:
678           stream: '{stream}'
679
680     scm:
681       - gerrit-trigger-scm:
682           credentials-id: 'jenkins-gerrit-credentials'
683           refspec: ''
684           choosing-strategy: 'default'
685
686     wrappers:
687       - fdio-infra-wrappers:
688           build-timeout: 120
689
690     triggers:
691       - gerrit-trigger-patch-merged:
692           name: '{project}'
693           branch: '{branch}'
694
695     builders:
696       - config-file-provider:
697           files:
698             - file-id: '.packagecloud'
699               target: '/root/.packagecloud'
700       - config-file-provider:
701           files:
702             - file-id: 'packagecloud_api'
703               target: '/root/packagecloud_api'
704       - shell:
705           !include-raw-escape:
706           - ../scripts/setup_executor_env.sh
707       - shell:
708           !include-raw-escape:
709           - ../scripts/vpp/commitmsg.sh
710       - shell:
711           !include-raw-escape:
712           - ../scripts/setup_vpp_ubuntu_docker_test.sh
713       - shell:
714           !include-raw-escape:
715           - ../scripts/setup_vpp_ext_deps.sh
716       - shell:
717           !include-raw-escape:
718           - ../scripts/vpp/build.sh
719       - shell:
720           !include-raw-escape:
721           - ../scripts/packagecloud_push.sh
722
723     publishers:
724       - fdio-infra-publish
725 # [end] VPP-MERGE JOB TEMPLATE
726
727 # VPP-GCC-VERIFY JOB TEMPLATE
728 - job-template:
729     name: 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
730
731     project-type: freestyle
732     node: 'builder-{os}-prod-{executor-arch}'
733     concurrent: true
734
735     properties:
736       - lf-infra-properties:
737           build-days-to-keep: "{build-days-to-keep}"
738
739     # Please keep parameters in alphabetical order
740     parameters:
741       - gerrit-parameter:
742           branch: '{branch}'
743       - gerrit-refspec-parameter:
744           refspec: '{branch-refspec}'
745       - make-parallel-jobs-parameter:
746           make-parallel-jobs: '{make-parallel-jobs}'
747       - os-parameter:
748           os: '{os}'
749       - project-parameter:
750           project: '{project}'
751       - stream-parameter:
752           stream: '{stream}'
753
754     scm:
755       - gerrit-trigger-scm:
756           credentials-id: 'jenkins-gerrit-credentials'
757           refspec: '$GERRIT_REFSPEC'
758           choosing-strategy: 'gerrit'
759
760     wrappers:
761       - fdio-infra-wrappers:
762           build-timeout: 120
763
764     triggers:
765       - gerrit-trigger-checkstyle:
766           name: '{project}'
767           branch: '{branch}'
768
769     builders:
770       - shell:
771           !include-raw-escape:
772           - ../scripts/setup_executor_env.sh
773       - shell:
774           !include-raw-escape:
775           - ../scripts/setup_vpp_ubuntu_docker_test.sh
776       - shell:
777           !include-raw-escape:
778           - ../scripts/setup_vpp_ext_deps.sh
779       - shell:
780           !include-raw-escape:
781           - ../scripts/vpp/gcc-build.sh
782
783     publishers:
784       - fdio-infra-publish
785 # [end] VPP-GCC-VERIFY JOB TEMPLATE
786
787 # VPP-COV-VERIFY JOB TEMPLATE
788 - job-template:
789     name: 'vpp-cov-verify-{stream}-{os}-{executor-arch}'
790
791     project-type: freestyle
792     node: 'builder-{os}-prod-{executor-arch}'
793     concurrent: true
794
795     properties:
796       - lf-infra-properties:
797           build-days-to-keep: "{build-days-to-keep}"
798
799     # Please keep parameters in alphabetical order
800     parameters:
801       - gerrit-parameter:
802           branch: '{branch}'
803       - make-parallel-jobs-parameter:
804           make-parallel-jobs: '{make-parallel-jobs}'
805       - make-test-os-parameter:
806           make-test-os: '{make-test-os}'
807       - os-parameter:
808           os: '{os}'
809       - project-parameter:
810           project: '{project}'
811       - stream-parameter:
812           stream: '{stream}'
813
814     scm:
815       - gerrit-trigger-scm:
816           credentials-id: 'jenkins-gerrit-credentials'
817           refspec: ''
818           choosing-strategy: 'default'
819
820     wrappers:
821       - fdio-infra-wrappers:
822           build-timeout: '{build-timeout}'
823
824     triggers:
825       - timed: '{periodicity}'
826       - gerrit-trigger-manually-triggered:
827           comment-trigger-value: '{comment-trigger-value}'
828           name: '{project}'
829           branch: '{branch}'
830
831     builders:
832       - shell:
833           !include-raw-escape:
834           - ../scripts/setup_executor_env.sh
835       - shell:
836           !include-raw-escape:
837           - ../scripts/setup_vpp_ubuntu_docker_test.sh
838       - shell:
839           !include-raw-escape:
840           - ../scripts/setup_vpp_ext_deps.sh
841       - shell:
842           !include-raw-escape:
843           - ../scripts/vpp/cov-build.sh
844
845     publishers:
846       - fdio-infra-publish-cov-7day
847       - fdio-infra-publish
848 # [end] VPP-COV-VERIFY JOB TEMPLATE
849
850 # VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
851 - job-template:
852     name: 'vpp-csit-verify-device-{stream}-{os}-{executor-arch}-{testbed-arch}'
853     description: |
854       <ul>
855           <li>executor
856               <ul>
857                   <li>csit-builder-{os}-prod-{executor-arch}
858               </ul>
859           <li>testbed architecture
860               <ul>
861                   <li>{testbed-arch}
862               </ul>
863       </ul>
864
865     project-type: freestyle
866     node: 'csit-builder-{os}-prod-{executor-arch}'
867     concurrent: true
868     latest-only: false
869
870     properties:
871       - lf-infra-properties:
872           build-days-to-keep: "{build-days-to-keep}"
873
874     # Please keep parameters in alphabetical order
875     parameters:
876       - gerrit-csit-refspec-parameter
877       - gerrit-event-comment-text-parameter
878       - gerrit-event-type-parameter
879       - gerrit-parameter:
880           branch: '{branch}'
881       - gerrit-refspec-parameter:
882           refspec: '{branch-refspec}'
883       - make-parallel-jobs-parameter:
884           make-parallel-jobs: '{make-parallel-jobs}'
885       - os-parameter:
886           os: '{os}'
887       - project-parameter:
888           project: '{project}'
889       - stream-parameter:
890           stream: '{stream}'
891
892     scm:
893       - gerrit-trigger-scm:
894           credentials-id: 'jenkins-gerrit-credentials'
895           refspec: '$GERRIT_REFSPEC'
896           choosing-strategy: 'gerrit'
897
898     wrappers:
899       - fdio-infra-wrappers:
900           build-timeout: '90'
901
902     triggers:
903       - 'gerrit-trigger-vpp-csit-devicetest-full':
904           name: '{project}'
905           branch: '{branch}'
906           skip-vote: '{skip-vote}'
907
908     builders:
909       - shell:
910           !include-raw-escape:
911           - ../scripts/setup_executor_env.sh
912       - shell:
913           !include-raw-escape:
914           - ../scripts/setup_vpp_ubuntu_docker_test.sh
915       - shell:
916           !include-raw-escape:
917           - ../scripts/setup_vpp_ext_deps.sh
918       - shell:
919           !include-raw-escape:
920           - ../scripts/vpp/csit-device.sh
921
922     publishers:
923       - fdio-infra-publish
924 # [end] VPP-CSIT-VERIFY-DEVICE-PERPATCH JOB TEMPLATE
925
926 # VPP-CSIT-VERIFY-PERF JOB TEMPLATE
927 - job-template:
928     name: 'vpp-csit-verify-perf-{stream}-{os}-{executor-arch}-{testbed-arch}'
929     description: |
930       <ul>
931           <li>executor
932               <ul>
933                   <li>builder-{os}-prod-{executor-arch}
934               </ul>
935           <li>testbed architecture
936               <ul>
937                   <li>{testbed-arch}
938               </ul>
939           <li>Objective
940           Contrary to csit-vpp job, this also measures the parent performance,
941           and fails if performance regression is detected.
942           See https://github.com/FDio/csit/blob/master/docs/cpta/methodology/perpatch_performance_tests.rst
943       </ul>
944
945     project-type: freestyle
946     node: 'builder-{os}-prod-{executor-arch}'
947     concurrent: true
948     latest-only: false
949
950     properties:
951       - lf-infra-properties:
952           build-days-to-keep: "{build-days-to-keep}"
953
954     # Please keep parameters in alphabetical order
955     parameters:
956       - csit-perf-trial-duration-parameter:
957           csit-perf-trial-duration: "10.0"
958       - csit-perf-trial-multiplicity-parameter:
959           csit-perf-trial-multiplicity: "5"
960       - gerrit-csit-refspec-parameter
961       - gerrit-event-comment-text-parameter
962       - gerrit-event-type-parameter
963       - gerrit-refspec-parameter:
964           refspec: '{branch-refspec}'
965       - gerrit-parameter:
966           branch: '{branch}'
967       - make-parallel-jobs-parameter:
968           make-parallel-jobs: '{make-parallel-jobs}'
969       - os-parameter:
970           os: '{os}'
971       - project-parameter:
972           project: '{project}'
973       - stream-parameter:
974           stream: '{stream}'
975
976     scm:
977       - gerrit-trigger-scm:
978           credentials-id: 'jenkins-gerrit-credentials'
979           refspec: '$GERRIT_REFSPEC'
980           choosing-strategy: 'gerrit'
981
982     wrappers:
983       - fdio-infra-wrappers-non-activity-timeout:
984           build-timeout: 300
985
986     triggers:
987       - gerrit-trigger-csit-perftest:
988           project: '{project}'
989           branch: '{branch}'
990           trigger-word: 'perftest-{testbed-arch}'
991           skip-vote: true
992
993     builders:
994       - shell:
995           !include-raw-escape:
996           - ../scripts/setup_executor_env.sh
997       - shell:
998           !include-raw-escape:
999           - ../scripts/setup_vpp_ubuntu_docker_test.sh
1000       - shell:
1001           !include-raw-escape:
1002           - ../scripts/setup_vpp_ext_deps.sh
1003       - shell:
1004           !include-raw-escape:
1005           - ../scripts/vpp/csit-perf.sh
1006
1007     publishers:
1008       - postbuildscript:
1009           # Can be removed when all CSIT branches use correct archive directory.
1010           builders:
1011             - build-on:
1012                 - ABORTED
1013                 - FAILURE
1014                 - NOT_BUILT
1015                 - SUCCESS
1016                 - UNSTABLE
1017               build-steps:
1018                 - shell:
1019                     !include-raw-escape:
1020                     - ../scripts/vpp/copy_archives.sh
1021       - fdio-infra-publish
1022 # [end] VPP-CSIT-VERIFY-PERF JOB TEMPLATE
1023
1024 # VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
1025 - job-template:
1026     name: 'vpp-csit-verify-api-crc-{stream}-{os}-{executor-arch}'
1027
1028     project-type: freestyle
1029     node: 'builder-{os}-prod-{executor-arch}'
1030     concurrent: true
1031     latest-only: false
1032
1033     properties:
1034       - lf-infra-properties:
1035           build-days-to-keep: "{build-days-to-keep}"
1036
1037     # Please keep parameters in alphabetical order
1038     parameters:
1039       # Not sure whether not failing has any useful usage,
1040       # but it does not hurt to have some flexibility for future.
1041       - csit-fail-on-crc-mismatch-parameter:
1042           fail-on-crc-mismatch: 'True'
1043       - gerrit-csit-refspec-parameter
1044       - gerrit-parameter:
1045           branch: '{branch}'
1046       - gerrit-refspec-parameter:
1047           refspec: '{branch-refspec}'
1048       - project-parameter:
1049           project: '{project}'
1050       - stream-parameter:
1051           stream: '{stream}'
1052
1053     scm:
1054       - gerrit-trigger-scm:
1055           credentials-id: 'jenkins-gerrit-credentials'
1056           refspec: '$GERRIT_REFSPEC'
1057           choosing-strategy: 'gerrit'
1058
1059     wrappers:
1060       - fdio-infra-wrappers-non-activity-timeout:
1061           build-timeout: 300
1062
1063     triggers:
1064       - gerrit-trigger-checkstyle:
1065           name: '{project}'
1066           branch: '{branch}'
1067
1068     builders:
1069       - shell:
1070           !include-raw-escape:
1071           - ../scripts/setup_executor_env.sh
1072       - shell:
1073           !include-raw-escape:
1074           - ../scripts/setup_vpp_ubuntu_docker_test.sh
1075       - shell:
1076           !include-raw-escape:
1077           - ../scripts/vpp/check_crc.sh
1078     # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
1079
1080     publishers:
1081       - fdio-infra-publish
1082 # [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
1083 # [end] JOB TEMPLATE DEFINITIONS
1084
1085 - project:
1086     name: vpp-release
1087     project: vpp
1088     project-name: vpp
1089     build-node: centos8-builder-2c-2g
1090     mvn-settings: vpp-settings
1091     jobs:
1092       - "gerrit-packagecloud-release-verify"
1093
1094 - project:
1095     name: vpp-packagecloud-release
1096     project: vpp
1097     project-name: vpp
1098     build-node: centos8-builder-2c-2g
1099     mvn-settings: vpp-settings
1100     jobs:
1101       - "gerrit-packagecloud-release-merge"
1102       - "{project-name}-gerrit-release-jobs"