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