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