1 # Copyright (c) 2020 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:
6 # http://www.apache.org/licenses/LICENSE-2.0
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.
17 # Please keep projects grouped in this order:
18 # vpp-x86_64, vpp-aarch64, vpp-csit
21 # - The 'branch-head-refspec' attribute is used for sandbox testing.
22 # Use the get_gerrit_refspec() bash function in
23 # .../ci-management/docker/scripts/lib_common.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 # - Use the following to import get_gerrit_refspec into a bash shell
29 # from the ci-management directory:
30 # $ eval "$(grep -A12 get_gerrit ./docker/scripts/lib_common.sh)"
33 # VPP-CHECKSTYLE-X86_64 PROJECT
35 name: vpp-checkstyle-x86_64
37 - 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
43 repo-stream-part: 'master'
44 branch-head-refspec: ''
48 repo-stream-part: 'stable.2005'
49 branch-head-refspec: ''
53 repo-stream-part: 'stable.2009'
54 branch-head-refspec: ''
59 repo-stream-part: 'stable.2101'
60 branch-head-refspec: ''
61 executor-arch: 'x86_64'
62 # [end] VPP-CHECKSTYLE-X86_64 PROJECT
68 - 'vpp-verify-{stream}-{os}-{executor-arch}'
69 - 'vpp-merge-{stream}-{os}-{executor-arch}'
71 make-parallel-jobs: '4'
72 archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
76 repo-stream-part: 'master'
77 branch-head-refspec: ''
80 repo-stream-part: 'stable.2005'
81 branch-head-refspec: ''
84 repo-stream-part: 'stable.2009'
85 branch-head-refspec: ''
88 repo-stream-part: 'stable.2101'
89 branch-head-refspec: ''
92 repo-os-part: 'ubuntu.bionic.main'
93 executor-arch: 'x86_64'
94 # [end] VPP-X86_64 PROJECT
96 # VPP-OS-EOL-X86_64 PROJECT
98 name: vpp-os-eol-x86_64
100 - 'vpp-verify-{stream}-{os}-{executor-arch}'
101 - 'vpp-merge-{stream}-{os}-{executor-arch}'
103 make-parallel-jobs: '4'
104 archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
107 branch: 'stable/2005'
108 repo-stream-part: 'stable.2005'
109 branch-head-refspec: ''
111 branch: 'stable/2009'
112 repo-stream-part: 'stable.2009'
113 branch-head-refspec: ''
116 repo-os-part: 'centos7'
118 repo-os-part: 'stretch'
119 executor-arch: 'x86_64'
123 # [end] VPP-OS-EOL-X86_64 PROJECT
125 # VPP-OS-IN-2009-X86_64 PROJECT
127 # This project is used to separate streams which are only
128 # supported on the OS in the release in which it was added
131 # For each 'os-in-XXXX', the stream for the release is
132 # added here in addition to the 'vpp-x86_64' project.
133 # Each subsequent release is also added to both.
135 # When all of the streams older than the 'os-in-XXXX" have
136 # been removed from the 'vpp-x86_64' project, then the OSes
137 # in this project get moved to the 'vpp-x86_64' project and
138 # this project gets deleted or commented out if it is only
139 # 'os-in-XXXX' project.
142 name: vpp-os-in-2009-x86_64
144 - 'vpp-verify-{stream}-{os}-{executor-arch}'
145 - 'vpp-merge-{stream}-{os}-{executor-arch}'
147 make-parallel-jobs: '4'
148 archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
152 repo-stream-part: 'master'
153 branch-head-refspec: ''
155 branch: 'stable/2009'
156 repo-stream-part: 'stable.2009'
157 branch-head-refspec: ''
159 branch: 'stable/2101'
160 repo-stream-part: 'stable.2101'
161 branch-head-refspec: ''
164 repo-os-part: 'centos8'
166 repo-os-part: 'buster'
168 repo-os-part: 'ubuntu.focal.main'
169 executor-arch: 'x86_64'
170 # [end] VPP-OS-IN-2009-X86_64 PROJECT
172 # VPP-DEBUG-X86_64 PROJECT
174 # Currently a Non-Voting job due to intermittent failures.
175 # Limiting branches to master and 2009, since other branches
176 # may not get fixes for the intermittent failures.
179 name: vpp-debug-x86_64
181 - 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
183 make-parallel-jobs: '4'
184 archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
188 repo-stream-part: 'master'
189 branch-head-refspec: ''
191 branch: 'stable/2009'
192 repo-stream-part: 'stable.2009'
193 branch-head-refspec: ''
196 repo-os-part: 'ubuntu.focal.main'
197 executor-arch: 'x86_64'
198 # [end] VPP-DEBUG-X86_64 PROJECT
200 # VPP-BETA-X86_64 PROJECT
202 # Beta jobs are experimental jobs for testing new OS versions on master.
204 # They are only manually triggered. Either using the Jenkins WebUI
205 # 'Build with Parameters' to run a single job or adding 'vpp-beta-verify'
206 # or 'vpp-beta-merge' as a comment to run all beta verify or merge jobs.
208 # Once testing is complete, the os is moved to the current
209 # 'vpp-os-in-XXXX-x86_64' project. If no OSes are being
210 # tested then this project should be commented out.
213 # name: vpp-beta-x86_64
215 # - 'vpp-beta-verify-{stream}-{os}-{executor-arch}':
216 # comment-trigger-value: 'vpp-beta-verify'
217 # - 'vpp-beta-merge-{stream}-{os}-{executor-arch}':
218 # comment-trigger-value: 'vpp-beta-merge'
220 # make-parallel-jobs: '4'
221 # archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
225 # repo-stream-part: 'master'
226 # branch-head-refspec: ''
229 # repo-os-part: 'buster'
230 # executor-arch: x86_64
231 # [end] VPP-BETA-X86_64 PROJECT
233 # VPP-GCC-X86_64 PROJECT
237 - 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
239 executor-arch: 'x86_64'
242 repo-os-part: 'ubuntu.focal.main'
246 repo-stream-part: 'master'
247 branch-head-refspec: ''
249 branch: 'stable/2009'
250 repo-stream-part: 'stable.2009'
251 branch-head-refspec: ''
253 branch: 'stable/2101'
254 repo-stream-part: 'stable.2101'
255 branch-head-refspec: ''
256 # [end] VPP-GCC-X86_64 PROJECT
258 # VPP-AARCH64 PROJECT
262 - 'vpp-verify-{stream}-{os}-{executor-arch}'
263 - 'vpp-merge-{stream}-{os}-{executor-arch}'
265 make-parallel-jobs: '16'
266 archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
270 repo-stream-part: 'master'
271 branch-head-refspec: ''
273 branch: 'stable/2005'
274 repo-stream-part: 'stable.2005'
275 branch-head-refspec: ''
277 branch: 'stable/2009'
278 repo-stream-part: 'stable.2009'
279 branch-head-refspec: ''
281 branch: 'stable/2101'
282 repo-stream-part: 'stable.2101'
283 branch-head-refspec: ''
286 repo-os-part: 'ubuntu-arm.bionic.main'
287 executor-arch: 'aarch64'
288 # [end] VPP-AARCH64 PROJECT
290 # VPP-OS-IN-2009-AARCH64 PROJECT
292 # This project is used to separate streams which are only
293 # supported on the OS in the release in which it was added
296 # For each 'os-in-XXXX', the stream for the release is
297 # added here in addition to the 'vpp-aarch64' project.
298 # Each subsequent release is also added to both.
300 # When all of the streams older than the 'os-in-XXXX" have
301 # been removed from the 'vpp-aarch64' project, then the OSes
302 # in this project get moved to the 'vpp-aarch64' project and
303 # this project gets deleted or commented out if it is only
304 # 'os-in-XXXX' project.
307 # name: vpp-os-in-2009-aarch64
309 # - 'vpp-verify-{stream}-{os}-{executor-arch}'
310 # - 'vpp-merge-{stream}-{os}-{executor-arch}'
313 # make-parallel-jobs: '16'
314 # archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
318 # repo-stream-part: 'master'
319 # branch-head-refspec: ''
321 # branch: 'stable/2009'
322 # repo-stream-part: 'stable.2009'
323 # branch-head-refspec: ''
326 # repo-os-part: 'ubuntu.focal.main'
327 # executor-arch: 'aarch64'
328 # [end] VPP-OS-IN-2009-AARCH64 PROJECT
330 # VPP-BETA-AARCH64 PROJECT
332 # Beta jobs are experimental jobs for testing new OS versions on master.
334 # They are only manually triggered. Either using the Jenkins WebUI
335 # 'Build with Parameters' to run a single job or adding 'vpp-beta-verify'
336 # or 'vpp-beta-merge' as a comment to run all beta verify or merge jobs.
338 # Once testing is complete, the os is moved to the current
339 # 'vpp-os-in-XXXX-aarch64' project. If no OSes are being
340 # tested then this project should be commented out.
343 name: vpp-beta-aarch64
345 - 'vpp-beta-verify-{stream}-{os}-{executor-arch}':
346 comment-trigger-value: 'beta-verify'
347 - 'vpp-beta-merge-{stream}-{os}-{executor-arch}':
348 comment-trigger-value: 'beta-merge'
350 make-parallel-jobs: '16'
351 archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
355 repo-stream-part: 'master'
356 branch-head-refspec: ''
359 repo-os-part: 'centos8'
361 repo-os-part: 'ubuntu.focal.main'
362 executor-arch: aarch64
363 # [end] VPP-BETA-AARCH64 PROJECT
365 # VPP-CSIT-PERPATCH PROJECT
367 name: vpp-csit-perpatch
369 - 'vpp-csit-verify-device-{stream}-{device-node-arch}':
370 make-parallel-jobs: '32'
371 - 'vpp-csit-verify-perf-{stream}-{node-arch}'
374 device-executor: 'vpp-csit-device'
380 repo-stream-part: 'master'
382 branch: 'stable/2005'
383 repo-stream-part: 'stable.2005'
385 branch: 'stable/2009'
386 repo-stream-part: 'stable.2009'
388 branch: 'stable/2101'
389 repo-stream-part: 'stable.2101'
393 device-executor: 'vpp-csit-arm-ubuntu18'
404 executor: 'ubuntu1804arm-s'
405 make-parallel-jobs: '16'
407 executor: 'ubuntu1804arm-s'
408 make-parallel-jobs: '16'
411 device-node-arch: '1n-tx2'
413 device-node-arch: '1n-tx2'
415 # [end] VPP-CSIT-PERPATCH PROJECT
417 # VPP-CSIT-API-CRC PROJECT
419 # Only master and LTS branches are supported.
422 name: vpp-csit-api-crc
424 - 'vpp-csit-verify-api-crc-{stream}'
426 executor: 'vpp-csit-device'
430 branch: 'stable/2009'
431 repo-stream-part: 'stable.2009'
433 branch: 'stable/2101'
434 repo-stream-part: 'stable.2101'
438 # [end] VPP-CSIT-API-CRC PROJECT
440 # LF RELENG VPP PROJECTS
445 - gerrit-info-yaml-verify
446 build-node: centos7-builder-2c-2g
455 # [end] LF RELENG VPP PROJECTS
456 # [end] PROJECT DEFINITIONS
458 # JOB TEMPLATE DEFINITIONS
460 # Please keep job templates in the same order as they are referenced
461 # in the project definitions above.
463 # VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
465 name: 'vpp-checkstyle-verify-{stream}-{os}-{executor-arch}'
467 project-type: freestyle
468 node: 'builder-{os}-prod-{executor-arch}'
472 daysToKeep: '{build-days-to-keep}'
473 numToKeep: '{build-num-to-keep}'
474 artifactDaysToKeep: '{build-artifact-days-to-keep}'
475 artifactNumToKeep: '{build-artifact-num-to-keep}'
477 # Please keep parameters in alphabetical order
481 - gerrit-refspec-parameter:
482 refspec: '{branch-head-refspec}'
487 - repo-name-parameter:
488 repo-name: '{repo-stream-part}.ubuntu.bionic.main'
489 - workspace-archive-artifacts-parameter:
490 artifacts: '{archive-artifacts}'
493 - gerrit-trigger-scm:
494 credentials-id: 'jenkins-gerrit-credentials'
495 refspec: '$GERRIT_REFSPEC'
496 choosing-strategy: 'gerrit'
499 - fdio-infra-wrappers:
500 build-timeout: '{build-timeout}'
501 - credentials-binding:
503 credential-id: VppApiCompatNotify
504 variable: SECRET_WEBEX_TEAMS_ACCESS_TOKEN
508 server-name: 'Primary'
510 - patchset-created-event:
511 exclude-drafts: 'true'
512 exclude-trivial-rebase: 'false'
513 exclude-no-code-change: 'false'
514 - draft-published-event
515 - comment-added-contains-event:
516 comment-contains-value: 'checkstylecheck'
517 - comment-added-contains-event:
518 comment-contains-value: 'docsonly'
519 - comment-added-contains-event:
520 comment-contains-value: 'recheck'
521 - comment-added-contains-event:
522 comment-contains-value: 'reverify'
523 # Following two are to cover missing functions of drafts
524 # going to review status
525 - comment-added-contains-event:
526 comment-contains-value: 'runtest'
527 - comment-added-contains-event:
528 comment-contains-value: 'This change is ready for review'
530 - project-compare-type: 'ANT'
531 project-pattern: '{project}'
533 - branch-compare-type: 'ANT'
534 branch-pattern: '**/{branch}'
536 - compare-type: REG_EXP
537 pattern: ^((?!\/COMMIT_MSG|docs|_abc|_def[\/\.]).)*$
538 forbidden-file-paths:
539 - compare-type: REG_EXP
541 - compare-type: REG_EXP
542 pattern: .*extras\/emacs\/.*
543 disable-strict-forbidden-file-verification: 'true'
545 gerrit-build-notbuilt-verified-value: 0
546 gerrit-build-successful-verified-value: 1
547 # yamllint disable-line rule:line-length
548 notbuilt-message: 'Automatic retry of failed jobs may be in process. A proper vote should be set when retry completes.'
549 # yamllint disable-line rule:line-length
550 failed-message: 'Checkstyle failed. No further verify jobs will be started.'
551 successful-message: 'checkstyle_success'
561 - ../scripts/setup_executor_env.sh
564 - ../scripts/vpp/checkstyle.sh
567 - ../scripts/vpp/test-checkstyle.sh
570 - ../scripts/vpp/api-checkstyle.sh
573 - ../scripts/vpp/commitmsg.sh
578 # [end] VPP-CHECKSTYLE-VERIFY JOB TEMPLATE
580 # VPP-VERIFY JOB TEMPLATE
582 name: 'vpp-verify-{stream}-{os}-{executor-arch}'
584 project-type: freestyle
585 node: 'builder-{os}-prod-{executor-arch}'
589 daysToKeep: '{build-days-to-keep}'
591 artifactDaysToKeep: '{build-artifact-days-to-keep}'
592 artifactNumToKeep: '{build-artifact-num-to-keep}'
594 # Please keep parameters in alphabetical order
598 - gerrit-refspec-parameter:
599 refspec: '{branch-head-refspec}'
600 - make-parallel-jobs-parameter:
601 make-parallel-jobs: '{make-parallel-jobs}'
606 - repo-name-parameter:
607 repo-name: '{repo-stream-part}.{repo-os-part}'
610 - workspace-archive-artifacts-parameter:
611 artifacts: '{archive-artifacts}'
614 - gerrit-trigger-scm:
615 credentials-id: 'jenkins-gerrit-credentials'
616 refspec: '$GERRIT_REFSPEC'
617 choosing-strategy: 'gerrit'
620 - fdio-infra-wrappers:
624 - gerrit-trigger-checkstyle:
631 - ../scripts/setup_executor_env.sh
634 - ../scripts/setup_vpp_ubuntu_docker_test.sh
637 - ../scripts/setup_vpp_dpdk_dev_env.sh
640 - ../scripts/vpp/build.sh
644 # [end] VPP-VERIFY JOB TEMPLATE
646 # VPP-DEBUG-VERIFY JOB TEMPLATE
648 name: 'vpp-debug-verify-{stream}-{os}-{executor-arch}'
650 project-type: freestyle
651 node: 'builder-{os}-prod-{executor-arch}'
655 daysToKeep: '{build-days-to-keep}'
656 numToKeep: '{build-num-to-keep}'
657 artifactDaysToKeep: '{build-artifact-days-to-keep}'
658 artifactNumToKeep: '{build-artifact-num-to-keep}'
660 # Please keep parameters in alphabetical order
664 - gerrit-refspec-parameter:
665 refspec: '{branch-head-refspec}'
666 - make-parallel-jobs-parameter:
667 make-parallel-jobs: '{make-parallel-jobs}'
672 - repo-name-parameter:
673 repo-name: '{repo-stream-part}.ubuntu.bionic.main'
676 - workspace-archive-artifacts-parameter:
677 artifacts: '{archive-artifacts}'
680 - gerrit-trigger-scm:
681 credentials-id: 'jenkins-gerrit-credentials'
682 refspec: '$GERRIT_REFSPEC'
683 choosing-strategy: 'gerrit'
686 - fdio-infra-wrappers:
687 build-timeout: '{build-timeout}'
690 # TODO: Ensure all supported jobs pass reliably before
692 - gerrit-trigger-checkstyle-nonvoting:
699 - ../scripts/setup_executor_env.sh
702 - ../scripts/setup_vpp_ubuntu_docker_test.sh
705 - ../scripts/setup_vpp_dpdk_dev_env.sh
708 - ../scripts/vpp/debug-build.sh
712 # [end] VPP-DEBUG-VERIFY JOB TEMPLATE
714 # VPP-MERGE JOB TEMPLATE
716 name: 'vpp-merge-{stream}-{os}-{executor-arch}'
718 project-type: freestyle
719 node: 'builder-{os}-prod-{executor-arch}'
722 daysToKeep: '{build-days-to-keep}'
724 artifactDaysToKeep: '{build-artifact-days-to-keep}'
725 artifactNumToKeep: '{build-artifact-num-to-keep}'
727 # Please keep parameters in alphabetical order
731 - make-parallel-jobs-parameter:
732 make-parallel-jobs: '{make-parallel-jobs}'
737 - repo-name-parameter:
738 repo-name: '{repo-stream-part}.{repo-os-part}'
741 - workspace-archive-artifacts-parameter:
742 artifacts: '{archive-artifacts}'
745 - gerrit-trigger-scm:
746 credentials-id: 'jenkins-gerrit-credentials'
748 choosing-strategy: 'default'
751 - fdio-infra-wrappers:
755 - gerrit-trigger-patch-merged:
760 - config-file-provider:
762 - file-id: '.packagecloud'
764 - config-file-provider:
766 - file-id: 'packagecloud_api'
770 - ../scripts/setup_executor_env.sh
773 - ../scripts/setup_vpp_ubuntu_docker_test.sh
776 - ../scripts/setup_vpp_dpdk_dev_env.sh
779 - ../scripts/vpp/build.sh
781 - provide-maven-settings:
782 settings-file: 'vpp-settings'
783 global-settings-file: 'global-settings'
786 - ../scripts/packagecloud_push.sh
790 # [end] VPP-MERGE JOB TEMPLATE
792 # VPP-BETA-VERIFY JOB TEMPLATE
794 name: 'vpp-beta-verify-{stream}-{os}-{executor-arch}'
796 project-type: freestyle
797 node: 'builder-{os}-prod-{executor-arch}'
801 daysToKeep: '{build-days-to-keep}'
803 artifactDaysToKeep: '{build-artifact-days-to-keep}'
804 artifactNumToKeep: '{build-artifact-num-to-keep}'
806 # Please keep parameters in alphabetical order
810 - gerrit-refspec-parameter:
811 refspec: '{branch-head-refspec}'
812 - make-parallel-jobs-parameter:
813 make-parallel-jobs: '{make-parallel-jobs}'
818 - repo-name-parameter:
819 repo-name: '{repo-stream-part}.{repo-os-part}'
822 - workspace-archive-artifacts-parameter:
823 artifacts: '{archive-artifacts}'
826 - gerrit-trigger-scm:
827 credentials-id: 'jenkins-gerrit-credentials'
828 refspec: '$GERRIT_REFSPEC'
829 choosing-strategy: 'gerrit'
832 - fdio-infra-wrappers:
836 - gerrit-trigger-manually-triggered:
837 comment-trigger-value: '{comment-trigger-value}'
844 - ../scripts/setup_executor_env.sh
847 - ../scripts/setup_vpp_ubuntu_docker_test.sh
850 - ../scripts/setup_vpp_dpdk_dev_env.sh
853 - ../scripts/vpp/build.sh
857 # [end] VPP-BETA-VERIFY JOB TEMPLATE
859 # VPP-BETA-MERGE JOB TEMPLATE
861 name: 'vpp-beta-merge-{stream}-{os}-{executor-arch}'
863 project-type: freestyle
864 node: 'builder-{os}-prod-{executor-arch}'
867 daysToKeep: '{build-days-to-keep}'
869 artifactDaysToKeep: '{build-artifact-days-to-keep}'
870 artifactNumToKeep: '{build-artifact-num-to-keep}'
872 # Please keep parameters in alphabetical order
876 - make-parallel-jobs-parameter:
877 make-parallel-jobs: '{make-parallel-jobs}'
882 - repo-name-parameter:
883 repo-name: '{repo-stream-part}.{repo-os-part}'
886 - workspace-archive-artifacts-parameter:
887 artifacts: '{archive-artifacts}'
890 - gerrit-trigger-scm:
891 credentials-id: 'jenkins-gerrit-credentials'
893 choosing-strategy: 'default'
896 - fdio-infra-wrappers:
897 build-timeout: '{build-timeout}'
900 - gerrit-trigger-manually-triggered:
901 comment-trigger-value: '{comment-trigger-value}'
906 - config-file-provider:
908 - file-id: '.packagecloud'
910 - config-file-provider:
912 - file-id: 'packagecloud_api'
916 - ../scripts/setup_executor_env.sh
919 - ../scripts/vpp/checkstyle.sh
922 - ../scripts/setup_vpp_ubuntu_docker_test.sh
925 - ../scripts/setup_vpp_dpdk_dev_env.sh
928 - ../scripts/vpp/build.sh
931 - ../scripts/packagecloud_push.sh
935 # [end] VPP-BETA-MERGE JOB TEMPLATE
937 # VPP-GCC-VERIFY JOB TEMPLATE
939 name: 'vpp-gcc-verify-{stream}-{os}-{executor-arch}'
941 project-type: freestyle
942 node: 'builder-{os}-prod-{executor-arch}'
946 daysToKeep: '{build-days-to-keep}'
948 artifactDaysToKeep: '{build-artifact-days-to-keep}'
949 artifactNumToKeep: '{build-artifact-num-to-keep}'
951 # Please keep parameters in alphabetical order
955 - gerrit-refspec-parameter:
956 refspec: '{branch-head-refspec}'
957 - make-parallel-jobs-parameter:
958 make-parallel-jobs: '{make-parallel-jobs}'
963 - repo-name-parameter:
964 repo-name: '{repo-stream-part}.{repo-os-part}'
967 - workspace-archive-artifacts-parameter:
968 artifacts: '{archive-artifacts}'
971 - gerrit-trigger-scm:
972 credentials-id: 'jenkins-gerrit-credentials'
973 refspec: '$GERRIT_REFSPEC'
974 choosing-strategy: 'gerrit'
977 - fdio-infra-wrappers:
981 - gerrit-trigger-checkstyle:
988 - ../scripts/setup_executor_env.sh
991 - ../scripts/setup_vpp_ubuntu_docker_test.sh
994 - ../scripts/setup_vpp_dpdk_dev_env.sh
997 - ../scripts/vpp/gcc-build.sh
1000 - fdio-infra-publish
1001 # [end] VPP-GCC-VERIFY JOB TEMPLATE
1003 # VPP-CSIT-VERIFY-DEVICE JOB TEMPLATE
1005 name: 'vpp-csit-verify-device-{stream}-{device-node-arch}'
1010 <li>{device-executor}
1014 project-type: freestyle
1015 node: '{device-executor}'
1017 archive-artifacts: '**/csit_current/**/*.*'
1021 daysToKeep: '{build-days-to-keep}'
1023 artifactDaysToKeep: '{build-artifact-days-to-keep}'
1024 artifactNumToKeep: '{build-artifact-num-to-keep}'
1026 # Please keep parameters in alphabetical order
1028 - archive-artifacts-parameter:
1029 artifacts: '{archive-artifacts}'
1030 - gerrit-csit-refspec-parameter
1031 - gerrit-event-comment-text-parameter
1032 - gerrit-event-type-parameter
1035 - gerrit-refspec-parameter
1036 - make-parallel-jobs-parameter:
1037 make-parallel-jobs: '{make-parallel-jobs}'
1040 - project-parameter:
1041 project: '{project}'
1042 - repo-name-parameter:
1043 repo-name: '{repo-stream-part}.ubuntu.bionic.main'
1048 - gerrit-trigger-scm:
1049 credentials-id: 'jenkins-gerrit-credentials'
1050 refspec: '$GERRIT_REFSPEC'
1051 choosing-strategy: 'gerrit'
1054 - fdio-infra-wrappers:
1058 - 'gerrit-trigger-vpp-csit-devicetest-full':
1061 skip-vote: '{skip-vote}'
1065 !include-raw-escape:
1066 - ../scripts/setup_executor_env.sh
1068 !include-raw-escape:
1069 - ../scripts/setup_vpp_ubuntu_docker_test.sh
1071 !include-raw-escape:
1072 - ../scripts/setup_vpp_dpdk_dev_env.sh
1074 !include-raw-escape:
1075 - ../scripts/vpp/csit-device.sh
1079 output-path: 'archives'
1081 - fdio-infra-shiplogs:
1082 maven-version: 'mvn36'
1083 # [end] VPP-CSIT-VERIFY-DEVICE JOB TEMPLATE
1085 # VPP-CSIT-VERIFY-PERF JOB TEMPLATE
1087 name: 'vpp-csit-verify-perf-{stream}-{node-arch}'
1095 Contrary to csit-vpp job, this also measures the parent performance,
1096 and fails if performance regression is detected.
1097 See https://github.com/FDio/csit/blob/master/docs/cpta/methodology/perpatch_performance_tests.rst
1100 project-type: freestyle
1103 archive-artifacts: >
1104 **/csit_current/**/*.*
1105 **/csit_parent/**/*.*
1109 daysToKeep: '{build-days-to-keep}'
1111 artifactDaysToKeep: '{build-artifact-days-to-keep}'
1112 artifactNumToKeep: '{build-artifact-num-to-keep}'
1114 # Please keep parameters in alphabetical order
1116 - archive-artifacts-parameter:
1117 artifacts: '{archive-artifacts}'
1118 - csit-perf-trial-duration-parameter:
1119 csit-perf-trial-duration: "10.0"
1120 - csit-perf-trial-multiplicity-parameter:
1121 csit-perf-trial-multiplicity: "5"
1122 - gerrit-csit-refspec-parameter
1123 - gerrit-event-comment-text-parameter
1124 - gerrit-event-type-parameter
1125 - gerrit-refspec-parameter
1128 - make-parallel-jobs-parameter:
1129 make-parallel-jobs: '{make-parallel-jobs}'
1132 - project-parameter:
1133 project: '{project}'
1134 - repo-name-parameter:
1135 repo-name: '{repo-stream-part}.ubuntu.bionic.main'
1140 - gerrit-trigger-scm:
1141 credentials-id: 'jenkins-gerrit-credentials'
1142 refspec: '$GERRIT_REFSPEC'
1143 choosing-strategy: 'gerrit'
1146 - fdio-infra-wrappers-non-activity-timeout:
1150 - gerrit-trigger-csit-perftest:
1151 project: '{project}'
1153 trigger-word: 'perftest-{node-arch}'
1158 !include-raw-escape:
1159 - ../scripts/setup_executor_env.sh
1161 !include-raw-escape:
1162 - ../scripts/setup_vpp_ubuntu_docker_test.sh
1164 !include-raw-escape:
1165 - ../scripts/setup_vpp_dpdk_dev_env.sh
1167 !include-raw-escape:
1168 - ../scripts/vpp/csit-perf.sh
1172 output-path: 'csit_current/0/'
1174 - fdio-infra-shiplogs:
1175 maven-version: 'mvn36'
1176 # [end] VPP-CSIT-VERIFY-PERF JOB TEMPLATE
1178 # VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
1180 name: 'vpp-csit-verify-api-crc-{stream}'
1182 project-type: freestyle
1188 daysToKeep: '{build-days-to-keep}'
1190 artifactDaysToKeep: '{build-artifact-days-to-keep}'
1191 artifactNumToKeep: '{build-artifact-num-to-keep}'
1193 # Please keep parameters in alphabetical order
1195 - archive-artifacts-parameter:
1196 artifacts: '{archive-artifacts}'
1197 # Not sure whether not failing has any useful usage,
1198 # but it does not hurt to have some flexibility for future.
1199 - csit-fail-on-crc-mismatch-parameter:
1200 fail-on-crc-mismatch: 'True'
1201 - gerrit-csit-refspec-parameter
1204 - gerrit-refspec-parameter
1205 - project-parameter:
1206 project: '{project}'
1211 - gerrit-trigger-scm:
1212 credentials-id: 'jenkins-gerrit-credentials'
1213 refspec: '$GERRIT_REFSPEC'
1214 choosing-strategy: 'gerrit'
1217 - fdio-infra-wrappers-non-activity-timeout:
1221 - gerrit-trigger-checkstyle:
1227 !include-raw-escape:
1228 - ../scripts/setup_executor_env.sh
1230 !include-raw-escape:
1231 - ../scripts/setup_vpp_ubuntu_docker_test.sh
1233 !include-raw-escape:
1234 - ../scripts/vpp/check_crc.sh
1235 # TODO: Add sending e-mail notifications to vpp-api-dev@lists.fd.io
1238 - fdio-infra-shiplogs:
1239 maven-version: 'mvn36'
1240 # [end] VPP-CSIT-VERIFY-API-CRC JOB TEMPLATE
1241 # [end] JOB TEMPLATE DEFINITIONS