9 - config-file-provider:
12 target: "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
14 - lf_packer: &lf_packer_common
15 name: lf-packer-common
16 # Provide configuration common in packer jobs.
18 ######################
19 # Default parameters #
20 ######################
26 github-url: "https://github.com"
28 submodule-recursive: true
30 submodule-disable: false
31 packer-cloud-settings: packer-cloud-env
38 project-type: freestyle
40 disabled: "{disable-job}"
43 - lf-infra-properties:
48 - lf-infra-parameters:
52 - lf-packer-parameters:
53 packer-version: "{packer-version}"
57 build-timeout: "{build-timeout}"
58 jenkins-ssh-credential: "{jenkins-ssh-credential}"
64 name: lf-infra-jjb-parameters
68 default: "{jjb-version}"
69 description: Jenkins Job Builder version to download and install.
72 default: "{jjb-cache}"
73 description: Jenkins Job Builder cache location.
76 name: lf-packer-parameters
80 default: "{packer-version}"
81 description: Packer version to download and install.
84 name: lf-puppet-parameters
87 name: PUPPET_LINT_VERSION
88 default: "{puppet-lint-version}"
89 description: Puppet-lint version to download and install.
91 - lf_jjb_common: &lf_jjb_common
94 ######################
95 # Default parameters #
96 ######################
101 github-url: "https://github.com"
102 jjb-cache: "$HOME/.cache/jenkins_jobs"
105 submodule-recursive: true
106 submodule-timeout: 10
107 submodule-disable: false
108 throttle_categories: []
109 throttle-enabled: false
110 throttle-max-per-node: 1
111 throttle-max-total: 0
112 throttle-option: "project"
114 gerrit_trigger_file_paths:
115 - compare-type: REG_EXP
117 - compare-type: REG_EXP
118 pattern: "global-jjb"
119 - compare-type: REG_EXP
122 # github_included_regions MUST match gerrit_trigger_file_paths
123 github_included_regions:
128 #####################
129 # Job Configuration #
130 #####################
132 project-type: freestyle
134 disabled: "{disable-job}"
137 - lf-infra-properties:
139 build-days-to-keep: 7
141 categories: "{obj:throttle_categories}"
142 enabled: "{throttle-enabled}"
143 max-per-node: "{throttle-max-per-node}"
144 max-total: "{throttle-max-total}"
145 option: "{throttle-option}"
148 - lf-infra-parameters:
152 - lf-infra-jjb-parameters:
153 jjb-cache: "{jjb-cache}"
154 jjb-version: "{jjb-version}"
158 build-timeout: "{build-timeout}"
159 jenkins-ssh-credential: "{jenkins-ssh-credential}"
164 ######################
165 # Gerrit Branch Lock #
166 ######################
169 name: "{project-name}-gerrit-branch-lock-{stream}"
170 id: gerrit-branch-lock
172 ######################
173 # Default parameters #
174 ######################
178 git-url: "$GIT_URL/$GERRIT_PROJECT"
180 submodule-timeout: 10
181 submodule-disable: false
182 gerrit_merge_triggers:
183 - comment-added-contains-event:
184 comment-contains-value: (un)?lock branch$
186 #####################
187 # Job Configuration #
188 #####################
190 project-type: freestyle
192 disabled: "{disable-job}"
195 - lf-infra-properties:
197 build-days-to-keep: 1
200 - lf-infra-parameters:
208 jenkins-ssh-credential: "{jenkins-ssh-credential}"
211 - lf-infra-gerrit-scm:
215 submodule-recursive: false
216 submodule-timeout: "{submodule-timeout}"
217 submodule-disable: "{submodule-disable}"
218 choosing-strategy: default
219 jenkins-ssh-credential: "{jenkins-ssh-credential}"
223 server-name: "{gerrit-server-name}"
224 trigger-on: "{obj:gerrit_merge_triggers}"
226 - project-compare-type: ANT
227 project-pattern: "{project}"
229 - branch-compare-type: ANT
230 branch-pattern: "**/{branch}"
233 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
238 ##########################################
239 # Jenkins Configuration Management Merge #
240 ##########################################
243 name: lf-jenkins-cfg-clouds
247 properties-content: "jenkins_silos={jenkins-silos}"
248 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
249 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
252 name: lf-jenkins-cfg-global-vars
256 properties-content: "jenkins_silos={jenkins-silos}"
257 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
258 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
260 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
261 name: lf-jenkins-cfg-merge
263 ######################
264 # Default parameters #
265 ######################
270 git-url: "$GIT_URL/$GERRIT_PROJECT"
271 github-url: "https://github.com"
272 jenkins-silos: production sandbox
273 submodule-timeout: 10
274 submodule-disable: false
276 gerrit_merge_triggers:
277 - change-merged-event
278 - comment-added-contains-event:
279 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
281 gerrit_trigger_file_paths:
282 - compare-type: REG_EXP
283 pattern: 'jenkins-config\/.*'
285 # github_included_regions MUST match gerrit_trigger_file_paths
286 github_included_regions:
287 - 'jenkins-config\/.*'
289 #####################
290 # Job Configuration #
291 #####################
293 project-type: freestyle
296 disabled: "{disable-job}"
299 - lf-infra-properties:
301 build-days-to-keep: 1
304 - lf-infra-parameters:
312 jenkins-ssh-credential: "{jenkins-ssh-credential}"
316 - lf-jenkins-cfg-global-vars:
317 jenkins-silos: "{jenkins-silos}"
318 - lf-jenkins-cfg-clouds:
319 jenkins-silos: "{jenkins-silos}"
325 name: "{project-name}-jenkins-cfg-merge"
326 id: gerrit-jenkins-cfg-merge
327 <<: *lf_jenkins_cfg_merge
330 - lf-infra-gerrit-scm:
332 refspec: "refs/heads/{branch}"
334 submodule-recursive: true
335 submodule-timeout: "{submodule-timeout}"
336 submodule-disable: "{submodule-disable}"
337 choosing-strategy: default
338 jenkins-ssh-credential: "{jenkins-ssh-credential}"
341 - timed: "{obj:cron}"
343 server-name: "{gerrit-server-name}"
344 trigger-on: "{obj:gerrit_merge_triggers}"
346 - project-compare-type: ANT
347 project-pattern: "{project}"
349 - branch-compare-type: ANT
350 branch-pattern: "**/{branch}"
351 file-paths: "{obj:gerrit_trigger_file_paths}"
354 name: "{project-name}-jenkins-cfg-merge"
355 id: github-jenkins-cfg-merge
356 <<: *lf_jenkins_cfg_merge
359 - lf-infra-properties:
361 build-days-to-keep: 1
363 url: "{github-url}/{github-org}/{project}"
366 - lf-infra-github-scm:
367 url: "{git-clone-url}{github-org}/{project}"
369 branch: "refs/heads/{branch}"
370 submodule-recursive: true
371 submodule-timeout: "{submodule-timeout}"
372 submodule-disable: "{submodule-disable}"
373 choosing-strategy: default
374 jenkins-ssh-credential: "{jenkins-ssh-credential}"
377 - timed: "{obj:cron}"
381 - github-pull-request:
382 trigger-phrase: "^remerge$"
383 only-trigger-phrase: true
384 status-context: "Jenkins CFG Merge"
389 white-list: "{obj:github_pr_whitelist}"
390 admin-list: "{obj:github_pr_admin_list}"
391 included-regions: "{obj:github_included_regions}"
392 white-list-target-branches:
395 ###########################################
396 # Jenkins Configuration Management Verify #
397 ###########################################
399 - lf_jenkins_configuration: &lf_jenkins_cfg_verify
400 name: lf-jenkins-cfg-verify
402 ######################
403 # Default parameters #
404 ######################
407 build-days-to-keep: 7
409 git-url: "$GIT_URL/$GERRIT_PROJECT"
410 github-url: "https://github.com"
411 submodule-timeout: 10
412 submodule-disable: false
414 gerrit_verify_triggers:
415 - patchset-created-event:
417 exclude-trivial-rebase: false
418 exclude-no-code-change: false
419 - draft-published-event
420 - comment-added-contains-event:
421 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
423 gerrit_trigger_file_paths:
424 - compare-type: REG_EXP
425 pattern: 'jenkins-config\/.*'
427 # github_included_regions MUST match gerrit_trigger_file_paths
428 github_included_regions:
429 - 'jenkins-config\/.*'
431 #####################
432 # Job Configuration #
433 #####################
435 project-type: freestyle
438 disabled: "{disable-job}"
441 - lf-infra-properties:
443 build-days-to-keep: 1
446 - lf-infra-parameters:
454 jenkins-ssh-credential: "{jenkins-ssh-credential}"
455 - config-file-provider:
456 # Listed after to override openstack-infra-wrappers clouds.yaml
459 - file-id: clouds-yaml
460 target: "$HOME/.config/openstack/clouds.yaml"
462 target: "$HOME/.npmrc"
464 target: "$HOME/.config/pip/pip.conf"
468 - shell: !include-raw-escape: ../shell/jenkins-verify-images.sh
474 name: "{project-name}-jenkins-cfg-verify"
475 id: gerrit-jenkins-cfg-verify
476 <<: *lf_jenkins_cfg_verify
479 - lf-infra-gerrit-scm:
481 refspec: "$GERRIT_REFSPEC"
482 branch: "$GERRIT_BRANCH"
483 submodule-recursive: true
484 submodule-timeout: "{submodule-timeout}"
485 submodule-disable: "{submodule-disable}"
486 choosing-strategy: gerrit
487 jenkins-ssh-credential: "{jenkins-ssh-credential}"
491 server-name: "{gerrit-server-name}"
492 trigger-on: "{obj:gerrit_verify_triggers}"
494 - project-compare-type: ANT
495 project-pattern: "{project}"
497 - branch-compare-type: ANT
498 branch-pattern: "**/{branch}"
499 file-paths: "{obj:gerrit_trigger_file_paths}"
502 name: "{project-name}-jenkins-cfg-verify"
503 id: github-jenkins-cfg-verify
504 <<: *lf_jenkins_cfg_verify
508 url: "{github-url}/{github-org}/{project}"
511 - lf-infra-github-scm:
512 url: "{git-clone-url}{github-org}/{project}"
513 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
515 submodule-recursive: true
516 submodule-timeout: "{submodule-timeout}"
517 submodule-disable: "{submodule-disable}"
518 choosing-strategy: default
519 jenkins-ssh-credential: "{jenkins-ssh-credential}"
522 - github-pull-request:
523 trigger-phrase: "^(recheck|reverify)$"
524 only-trigger-phrase: false
525 status-context: "Jenkins CFG Verify"
528 included-regions: "{obj:github_included_regions}"
529 white-list-target-branches:
532 ###########################
533 # JENKINS SANDBOX CLEANUP #
534 ###########################
536 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
537 name: lf-jenkins-sandbox-cleanup
539 ######################
540 # Default parameters #
541 ######################
544 # Run every Saturday at 08:00 UTC
548 #####################
549 # Job Configuration #
550 #####################
552 project-type: freestyle
555 disabled: "{disable-job}"
558 - lf-infra-jjb-parameters:
559 jjb-cache: "{jjb-cache}"
560 jjb-version: "{jjb-version}"
563 - timed: "{obj:cron}"
567 - shell: !include-raw-escape:
568 - ../shell/jjb-install.sh
569 - ../shell/jenkins-sandbox-cleanup.sh
570 - ../shell/jjb-cleanup.sh
573 name: "{project-name}-jenkins-sandbox-cleanup"
574 id: gerrit-jenkins-sandbox-cleanup
576 # yamllint disable-line rule:key-duplicates
577 <<: *lf_jenkins_sandbox_cleanup
580 name: "{project-name}-jenkins-sandbox-cleanup"
581 id: github-jenkins-sandbox-cleanup
583 # yamllint disable-line rule:key-duplicates
584 <<: *lf_jenkins_sandbox_cleanup
590 - lf_jjb_deploy_job: &lf_jjb_deploy_job
591 name: lf-jjb-deploy-job
593 ######################
594 # Default parameters #
595 ######################
599 # jjb-deploy should always clone $PROJECT regardless of what
600 # $GERRIT_PROJECT triggered the job.
601 git-url: "$GIT_URL/$PROJECT"
602 github-url: "https://github.com"
604 submodule-timeout: 10
605 submodule-disable: false
606 gerrit_jjb_deploy_job_triggers:
607 - comment-added-contains-event:
608 comment-contains-value: '^Patch Set\s+\d+:\s+(jjb-deploy[:]* (?!\*+$).+$)'
610 #####################
611 # Job Configuration #
612 #####################
614 project-type: freestyle
617 disabled: "{disable-job}"
620 - lf-infra-properties:
622 build-days-to-keep: 1
625 - lf-infra-parameters:
633 jenkins-ssh-credential: "{jenkins-ssh-credential}"
637 pip-packages: jenkins-job-builder
639 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
645 name: "{project-name}-jjb-deploy-job"
646 id: gerrit-jjb-deploy-job
647 <<: *lf_jjb_deploy_job
650 - lf-infra-gerrit-scm:
652 refspec: "refs/heads/{branch}"
654 submodule-recursive: true
655 submodule-timeout: "{submodule-timeout}"
656 submodule-disable: "{submodule-disable}"
657 choosing-strategy: default
658 jenkins-ssh-credential: "{jenkins-ssh-credential}"
662 server-name: "{gerrit-server-name}"
663 trigger-on: "{obj:gerrit_jjb_deploy_job_triggers}"
665 - project-compare-type: ANT
666 project-pattern: "**"
668 - branch-compare-type: ANT
677 name: "{project-name}-jjb-deploy-job"
678 id: github-jjb-deploy-job
679 <<: *lf_jjb_deploy_job
682 - lf-infra-properties:
684 build-days-to-keep: 1
686 url: "{github-url}/{github-org}/{project}"
689 - lf-infra-github-scm:
690 url: "{git-clone-url}{github-org}/{project}"
691 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
693 submodule-recursive: true
694 submodule-timeout: "{submodule-timeout}"
695 submodule-disable: "{submodule-disable}"
696 choosing-strategy: default
697 jenkins-ssh-credential: "{jenkins-ssh-credential}"
700 - github-pull-request:
701 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
702 only-trigger-phrase: true
703 status-context: "JJB Deploy Job"
706 white-list-target-branches:
713 - lf_jjb_merge: &lf_jjb_merge
716 ######################
717 # Default parameters #
718 ######################
722 gerrit_merge_triggers:
723 - change-merged-event
724 - comment-added-contains-event:
725 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
727 #####################
728 # Job Configuration #
729 #####################
735 properties-content: JJB_WORKERS={jjb-workers}
736 - shell: !include-raw-escape:
737 - ../shell/jjb-merge-job.sh
740 name: "{project-name}-jjb-merge"
743 # yamllint disable-line rule:key-duplicates
746 git-url: "$GIT_URL/$GERRIT_PROJECT"
749 - lf-infra-gerrit-scm:
753 submodule-recursive: "{submodule-recursive}"
754 submodule-timeout: "{submodule-timeout}"
755 submodule-disable: "{submodule-disable}"
756 choosing-strategy: default
757 jenkins-ssh-credential: "{jenkins-ssh-credential}"
761 server-name: "{gerrit-server-name}"
762 trigger-on: "{obj:gerrit_merge_triggers}"
764 - project-compare-type: ANT
765 project-pattern: "{project}"
767 - branch-compare-type: ANT
768 branch-pattern: "**/{branch}"
769 file-paths: "{obj:gerrit_trigger_file_paths}"
772 name: "{project-name}-jjb-merge"
775 # yamllint disable-line rule:key-duplicates
778 #####################
779 # Job Configuration #
780 #####################
783 - lf-infra-properties:
785 build-days-to-keep: 7
787 url: "{github-url}/{github-org}/{project}"
790 - lf-infra-github-scm:
791 url: "{git-clone-url}{github-org}/{project}"
793 branch: "refs/heads/{branch}"
794 submodule-recursive: "{submodule-recursive}"
795 submodule-timeout: "{submodule-timeout}"
796 submodule-disable: "{submodule-disable}"
797 choosing-strategy: default
798 jenkins-ssh-credential: "{jenkins-ssh-credential}"
804 - github-pull-request:
805 trigger-phrase: "^remerge$"
806 only-trigger-phrase: true
807 status-context: "JJB Merge"
812 white-list: "{obj:github_pr_whitelist}"
813 admin-list: "{obj:github_pr_admin_list}"
814 included-regions: "{obj:github_included_regions}"
815 white-list-target-branches:
822 - lf_jjb_verify: &lf_jjb_verify
825 ######################
826 # Default parameters #
827 ######################
829 build-concurrent: true
831 gerrit_verify_triggers:
832 - patchset-created-event:
834 exclude-trivial-rebase: false
835 exclude-no-code-change: false
836 - draft-published-event
837 - comment-added-contains-event:
838 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
840 #####################
841 # Job Configuration #
842 #####################
844 concurrent: "{build-concurrent}"
849 - shell: !include-raw-escape:
850 - ../shell/jjb-verify-job.sh
851 - lf-infra-gpg-verify-git-signature
854 name: "{project-name}-jjb-verify"
855 id: gerrit-jjb-verify
857 # yamllint disable-line rule:key-duplicates
860 ######################
861 # Default parameters #
862 ######################
864 git-url: "$GIT_URL/$GERRIT_PROJECT"
866 #####################
867 # Job Configuration #
868 #####################
871 - lf-infra-gerrit-scm:
873 refspec: "$GERRIT_REFSPEC"
874 branch: "$GERRIT_BRANCH"
875 submodule-recursive: "{submodule-recursive}"
876 submodule-timeout: "{submodule-timeout}"
877 submodule-disable: "{submodule-disable}"
878 choosing-strategy: gerrit
879 jenkins-ssh-credential: "{jenkins-ssh-credential}"
883 server-name: "{gerrit-server-name}"
884 trigger-on: "{obj:gerrit_verify_triggers}"
886 - project-compare-type: ANT
887 project-pattern: "{project}"
889 - branch-compare-type: ANT
890 branch-pattern: "**/{branch}"
891 file-paths: "{obj:gerrit_trigger_file_paths}"
894 name: "{project-name}-jjb-verify"
895 id: github-jjb-verify
897 # yamllint disable-line rule:key-duplicates
900 #####################
901 # Job Configuration #
902 #####################
905 - lf-infra-properties:
907 build-days-to-keep: 7
909 url: "{github-url}/{github-org}/{project}"
912 - lf-infra-github-scm:
913 url: "{git-clone-url}{github-org}/{project}"
914 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
916 submodule-recursive: "{submodule-recursive}"
917 submodule-timeout: "{submodule-timeout}"
918 submodule-disable: "{submodule-disable}"
919 choosing-strategy: default
920 jenkins-ssh-credential: "{jenkins-ssh-credential}"
923 - github-pull-request:
924 trigger-phrase: "^(recheck|reverify)$"
925 only-trigger-phrase: false
926 status-context: "JJB Verify"
929 included-regions: "{obj:github_included_regions}"
930 white-list-target-branches:
933 ############################
934 # JJB Verify Upstream GJJB #
935 ############################
937 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
938 name: lf-jjb-verify-upstream-gjjb
940 #####################
941 # Job Configuration #
942 #####################
949 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
950 git cherry-pick FETCH_HEAD
952 - shell: !include-raw-escape:
953 - ../shell/jjb-verify-job.sh
954 - lf-infra-gpg-verify-git-signature
957 name: "{project-name}-jjb-verify-upstream-gjjb"
958 id: gerrit-jjb-verify-upstream-gjjb
960 # yamllint disable-line rule:key-duplicates
961 <<: *lf_jjb_verify_upstream_gjjb
963 ######################
964 # Default parameters #
965 ######################
967 git-url: "$GIT_URL/$PROJECT"
968 submodule-timeout: 10
969 submodule-disable: false
971 #####################
972 # Job Configuration #
973 #####################
976 - lf-infra-gerrit-scm:
980 submodule-recursive: true
981 submodule-timeout: "{submodule-timeout}"
982 submodule-disable: "{submodule-disable}"
983 choosing-strategy: default
984 jenkins-ssh-credential: "{jenkins-ssh-credential}"
988 server-name: "LinuxFoundation"
990 - patchset-created-event:
992 exclude-trivial-rebase: false
993 exclude-no-code-change: false
994 - draft-published-event
995 - comment-added-contains-event:
996 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
998 - project-compare-type: ANT
999 project-pattern: "releng/global-jjb"
1001 - branch-compare-type: ANT
1002 branch-pattern: "**/master"
1003 override-votes: true
1004 gerrit-build-failed-codereview-value: -1
1005 gerrit-build-failed-verified-value: 0
1006 gerrit-build-successful-codereview-value: 1
1007 gerrit-build-successful-verified-value: 0
1013 - lf_license_check: &lf_license_check
1014 name: lf-license-check
1016 ######################
1017 # Default parameters #
1018 ######################
1021 build-days-to-keep: 7
1030 git-url: "$GIT_URL/$PROJECT"
1031 github-url: "https://github.com"
1033 license-exclude-paths: ""
1034 licenses-allowed: Apache-2.0,EPL-1.0,MIT
1035 project-pattern: "**"
1038 submodule-timeout: 10
1039 submodule-disable: false
1041 #####################
1042 # Job Configuration #
1043 #####################
1045 project-type: freestyle
1046 node: "{build-node}"
1048 disabled: "{disable-job}"
1051 - lf-infra-properties:
1052 build-days-to-keep: "{build-days-to-keep}"
1055 - lf-infra-parameters:
1056 project: "{project}"
1061 - lf-infra-wrappers:
1062 build-timeout: "{build-timeout}"
1063 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1067 file-patterns: "{file-patterns}"
1068 spdx-disable: "{spdx-disable}"
1069 lhc-version: "{lhc-version}"
1070 license-exclude-paths: "{license-exclude-paths}"
1071 licenses-allowed: "{licenses-allowed}"
1077 name: "{project-name}-license-check"
1078 id: gerrit-license-check
1079 <<: *lf_license_check
1081 git-url: "$GIT_URL/$GERRIT_PROJECT"
1084 - lf-infra-gerrit-scm:
1085 git-url: "{git-url}"
1086 refspec: "$GERRIT_REFSPEC"
1087 branch: "$GERRIT_BRANCH"
1088 # Submodules are out of the project's control
1089 submodule-recursive: false
1090 submodule-timeout: "{submodule-timeout}"
1091 submodule-disable: "{submodule-disable}"
1092 choosing-strategy: gerrit
1093 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1097 server-name: "{gerrit-server-name}"
1098 # Trigger should not be overridable as we want to always run
1100 - patchset-created-event:
1101 exclude-drafts: false
1102 exclude-trivial-rebase: false
1103 exclude-no-code-change: false
1104 - draft-published-event
1105 - comment-added-contains-event:
1106 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1108 - project-compare-type: ANT
1109 project-pattern: "{project-pattern}"
1111 - branch-compare-type: ANT
1112 branch-pattern: "**"
1115 name: "{project-name}-license-check"
1116 id: github-license-check
1117 <<: *lf_license_check
1120 - lf-infra-properties:
1121 build-days-to-keep: "{build-days-to-keep}"
1123 url: "{github-url}/{github-org}/{project}"
1126 - lf-infra-github-scm:
1127 url: "{git-clone-url}{github-org}/{project}"
1128 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1130 # Submodules are out of the project's control
1131 submodule-recursive: false
1132 submodule-timeout: "{submodule-timeout}"
1133 submodule-disable: "{submodule-disable}"
1134 choosing-strategy: default
1135 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1138 - github-pull-request:
1139 trigger-phrase: "^recheck$"
1140 only-trigger-phrase: false
1141 status-context: "License Check"
1144 white-list-target-branches:
1147 ####################
1148 # Info YAML Verify #
1149 ####################
1151 - lf_info_yaml_verify: &lf_info_yaml_verify
1152 name: lf-info-yaml-verify
1154 ######################
1155 # Default parameters #
1156 ######################
1158 gerrit_verify_triggers:
1159 - patchset-created-event:
1160 exclude-drafts: true
1161 exclude-trivial-rebase: false
1162 exclude-no-code-change: false
1163 - draft-published-event
1164 - comment-added-contains-event:
1165 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1167 #####################
1168 # Job Configuration #
1169 #####################
1174 - shell: !include-raw-escape:
1175 - ../shell/git-validate-info-yaml.sh
1176 - ../shell/info-file-validate.sh
1179 name: "{project-name}-info-yaml-verify"
1180 id: gerrit-info-yaml-verify
1182 # yamllint disable-line rule:key-duplicates
1183 <<: *lf_info_yaml_verify
1185 git-url: "$GIT_URL/$GERRIT_PROJECT"
1188 - lf-infra-gerrit-scm:
1189 git-url: "{git-url}"
1190 refspec: "$GERRIT_REFSPEC"
1191 branch: "$GERRIT_BRANCH"
1192 submodule-recursive: "{submodule-recursive}"
1193 submodule-timeout: "{submodule-timeout}"
1194 submodule-disable: "{submodule-disable}"
1195 choosing-strategy: gerrit
1196 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1200 server-name: "{gerrit-server-name}"
1201 trigger-on: "{obj:gerrit_verify_triggers}"
1203 - project-compare-type: ANT
1204 project-pattern: "{project}"
1206 - branch-compare-type: ANT
1207 branch-pattern: "**/{branch}"
1209 - compare-type: REG_EXP
1210 pattern: "INFO.yaml"
1213 name: "{project-name}-info-yaml-verify"
1214 id: github-info-yaml-verify
1216 # yamllint disable-line rule:key-duplicates
1217 <<: *lf_info_yaml_verify
1219 github-url: "https://github.com"
1222 url: "{github-url}/{github-org}/{project}"
1225 - lf-infra-github-scm:
1226 url: "{git-clone-url}{github-org}/{project}"
1227 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1229 submodule-recursive: "{submodule-recursive}"
1230 submodule-timeout: "{submodule-timeout}"
1231 submodule-disable: "{submodule-disable}"
1232 choosing-strategy: default
1233 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1236 - github-pull-request:
1237 trigger-phrase: "^(recheck|reverify)$"
1238 only-trigger-phrase: false
1239 status-context: "INFO File Verify"
1242 # included-regions MUST match gerrit file-paths
1243 included-regions: "INFO.yaml"
1244 white-list-target-branches:
1251 - lf_openstack_cron: &lf_openstack_cron
1252 name: lf-openstack-cron
1254 ######################
1255 # Default parameters #
1256 ######################
1259 build-days-to-keep: 7
1263 git-url: "$GIT_URL/$PROJECT"
1264 github-url: "https://github.com"
1265 openstack-cloud: vex
1266 openstack-image-cleanup: true
1267 openstack-image-cleanup-age: 30
1268 openstack-image-protect: true
1269 openstack-port-cleanup: true
1270 openstack-server-cleanup: true
1271 openstack-stack-cleanup: true
1272 openstack-volume-cleanup: true
1274 submodule-timeout: 10
1275 submodule-disable: false
1277 #####################
1278 # Job Configuration #
1279 #####################
1281 project-type: freestyle
1282 node: "{build-node}"
1284 disabled: "{disable-job}"
1287 - lf-infra-properties:
1288 build-days-to-keep: "{build-days-to-keep}"
1291 - lf-infra-parameters:
1292 project: "{project}"
1297 default: "{jenkins-urls}"
1299 Space separated list of Jenkins URLs to check for active builds.
1302 - lf-infra-wrappers:
1303 build-timeout: "{build-timeout}"
1304 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1305 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1306 - config-file-provider:
1308 - file-id: clouds-yaml
1309 target: "$HOME/.config/openstack/clouds.yaml"
1311 target: "$HOME/.npmrc"
1313 target: "$HOME/.config/pip/pip.conf"
1316 - timed: "{obj:cron}"
1319 - lf-infra-pre-build
1321 properties-content: OS_CLOUD={openstack-cloud}
1324 condition-kind: boolean-expression
1325 condition-expression: "{openstack-stack-cleanup}"
1327 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-stacks.sh
1330 condition-kind: boolean-expression
1331 condition-expression: "{openstack-server-cleanup}"
1333 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-servers.sh
1336 condition-kind: boolean-expression
1337 condition-expression: "{openstack-port-cleanup}"
1339 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-ports.sh
1342 condition-kind: boolean-expression
1343 condition-expression: "{openstack-volume-cleanup}"
1345 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-volumes.sh
1348 condition-kind: boolean-expression
1349 condition-expression: "{openstack-image-protect}"
1351 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1353 condition-kind: boolean-expression
1354 condition-expression: "{openstack-image-cleanup}"
1357 properties-content: OS_IMAGE_CLEANUP_AGE={openstack-image-cleanup-age}
1358 - shell: !include-raw-escape: ../shell/openstack-cleanup-old-images.sh
1364 name: "{project-name}-openstack-cron"
1365 id: gerrit-openstack-cron
1366 <<: *lf_openstack_cron
1369 - lf-infra-gerrit-scm:
1370 git-url: "{git-url}"
1371 refspec: "refs/heads/{branch}"
1373 submodule-recursive: true
1374 submodule-timeout: "{submodule-timeout}"
1375 submodule-disable: "{submodule-disable}"
1376 choosing-strategy: default
1377 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1380 name: "{project-name}-openstack-cron"
1381 id: github-openstack-cron
1382 <<: *lf_openstack_cron
1385 - lf-infra-github-scm:
1386 url: "{git-clone-url}{github-org}/{project}"
1388 branch: "refs/heads/{branch}"
1389 submodule-recursive: true
1390 submodule-timeout: "{submodule-timeout}"
1391 submodule-disable: "{submodule-disable}"
1392 choosing-strategy: default
1393 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1399 - lf_packer_merge: &lf_packer_merge
1400 name: lf-packer-merge
1402 ######################
1403 # Default parameters #
1404 ######################
1407 openstack-cloud: vex
1408 update-cloud-image: false
1410 #####################
1411 # Job Configuration #
1412 #####################
1415 - lf-infra-parameters:
1416 project: "{project}"
1419 - lf-packer-parameters:
1420 packer-version: "{packer-version}"
1422 name: UPDATE_CLOUD_IMAGE
1423 default: "{update-cloud-image}"
1424 description: "Update new built image on the cloud."
1427 - lf-infra-packer-build:
1428 openstack: "{openstack}"
1429 openstack-cloud: "{openstack-cloud}"
1430 packer-cloud-settings: "{packer-cloud-settings}"
1431 packer-version: "{packer-version}"
1432 platform: "{platforms}"
1433 template: "{templates}"
1434 update-cloud-image: "{update-cloud-image}"
1435 - description-setter:
1436 regexp: '(\s+.*)(ZZCI\s+.*\d+-\d+\.\d+)'
1437 description: 'Image: \2'
1439 # - project: '{project-name}-openstack-update-cloud-image'
1441 # predefined-parameters: |
1442 # GERRIT_BRANCH=$GERRIT_BRANCH
1443 # GERRIT_PROJECT=$GERRIT_PROJECT
1444 # GERRIT_REFSPEC=$GERRIT_REFSPEC
1445 # NEW_IMAGE_NAME=$NEW_IMAGE_NAME
1446 # property-file: variables.jenkins-trigger
1447 # property-file-fail-on-missing: true
1451 - trigger-parameterized-builds:
1452 - project: "{project-name}-openstack-update-cloud-image"
1453 condition: UNSTABLE_OR_BETTER
1454 predefined-parameters: |
1455 NEW_IMAGE_NAME=$NEW_IMAGE_NAME
1456 property-file: variables.jenkins-trigger
1457 fail-on-missing: true
1460 name: "{project-name}-packer-merge-{platforms}-{templates}"
1461 id: gerrit-packer-merge
1462 <<: *lf_packer_common
1463 # yamllint disable-line rule:key-duplicates
1464 <<: *lf_packer_merge
1466 ######################
1467 # Default parameters #
1468 ######################
1470 git-url: "$GIT_URL/$GERRIT_PROJECT"
1472 gerrit_merge_triggers:
1473 - change-merged-event
1474 - comment-added-contains-event:
1475 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1477 #####################
1478 # Job Configuration #
1479 #####################
1482 - lf-infra-gerrit-scm:
1483 git-url: "{git-url}"
1484 refspec: "$GERRIT_REFSPEC"
1485 branch: "$GERRIT_BRANCH"
1486 submodule-recursive: "{submodule-recursive}"
1487 submodule-timeout: "{submodule-timeout}"
1488 submodule-disable: "{submodule-disable}"
1489 choosing-strategy: default
1490 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1493 - timed: "{obj:cron}"
1495 server-name: "{gerrit-server-name}"
1496 trigger-on: "{obj:gerrit_merge_triggers}"
1498 - project-compare-type: ANT
1499 project-pattern: "{project}"
1501 - branch-compare-type: ANT
1502 branch-pattern: "**/{branch}"
1504 - compare-type: REG_EXP
1505 pattern: 'packer\/provision\/.*\.sh'
1506 - compare-type: REG_EXP
1507 pattern: 'packer\/provision\/.*\.bat'
1508 - compare-type: REG_EXP
1509 pattern: 'packer\/provision\/.*\.ps1'
1510 - compare-type: REG_EXP
1511 pattern: 'packer\/provision\/{templates}\.yaml'
1512 - compare-type: REG_EXP
1513 pattern: 'packer\/provision\/local-{templates}\.yaml'
1514 - compare-type: REG_EXP
1515 pattern: 'packer\/templates\/{templates}\.json'
1516 - compare-type: REG_EXP
1517 pattern: 'packer\/vars\/{platforms}\.json'
1520 name: "{project-name}-packer-merge-{platforms}-{templates}"
1521 id: github-packer-merge
1522 <<: *lf_packer_common
1523 # yamllint disable-line rule:key-duplicates
1524 <<: *lf_packer_merge
1526 #####################
1527 # Job Configuration #
1528 #####################
1531 - lf-infra-properties:
1532 project: "{project}"
1533 build-days-to-keep: 7
1535 url: "{github-url}/{github-org}/{project}"
1538 - lf-infra-github-scm:
1539 url: "{git-clone-url}{github-org}/{project}"
1541 +refs/heads/*:refs/remotes/origin/*
1542 +refs/pull/*:refs/remotes/origin/pr/*
1543 branch: "$GERRIT_REFSPEC"
1544 submodule-recursive: "{submodule-recursive}"
1545 submodule-timeout: "{submodule-timeout}"
1546 submodule-disable: "{submodule-disable}"
1547 choosing-strategy: default
1548 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1551 - timed: "{obj:cron}"
1556 - github-pull-request:
1557 trigger-phrase: "^remerge$"
1558 only-trigger-phrase: true
1559 status-context: "Packer {platforms}-{templates} Merge"
1564 white-list: "{obj:github_pr_whitelist}"
1565 admin-list: "{obj:github_pr_admin_list}"
1566 # included-regions MUST match Gerrit Trigger file-paths
1568 - 'packer\/provision\/.*\.sh'
1569 - 'packer\/provision\/.*\.bat'
1570 - 'packer\/provision\/.*\.ps1'
1571 - 'packer\/provision\/{templates}\.yaml'
1572 - 'packer\/provision\/local-{templates}\.yaml'
1573 - 'packer\/templates\/{templates}\.json'
1574 - 'packer\/vars\/{platforms}\.json'
1575 white-list-target-branches:
1582 - lf_packer_verify: &lf_packer_verify
1583 name: lf-packer-verify
1585 ######################
1586 # Default parameters #
1587 ######################
1591 openstack-cloud: vex
1593 gerrit_verify_triggers:
1594 - patchset-created-event:
1595 exclude-drafts: true
1596 exclude-trivial-rebase: false
1597 exclude-no-code-change: false
1598 - draft-published-event
1599 - comment-added-contains-event:
1600 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1602 gerrit_trigger_file_paths:
1603 - compare-type: REG_EXP
1604 pattern: 'packer\/.*'
1606 # github_included_regions MUST match gerrit_trigger_file_paths
1607 github_included_regions:
1610 #####################
1611 # Job Configuration #
1612 #####################
1617 - lf-infra-packer-validate:
1618 openstack: "{openstack}"
1619 openstack-cloud: "{openstack-cloud}"
1620 packer-cloud-settings: "{packer-cloud-settings}"
1621 packer-version: "{packer-version}"
1624 name: "{project-name}-packer-verify"
1625 id: gerrit-packer-verify
1626 <<: *lf_packer_common
1627 # yamllint disable-line rule:key-duplicates
1628 <<: *lf_packer_verify
1630 ######################
1631 # Default parameters #
1632 ######################
1634 git-url: "$GIT_URL/$GERRIT_PROJECT"
1636 #####################
1637 # Job Configuration #
1638 #####################
1641 - lf-infra-gerrit-scm:
1642 git-url: "{git-url}"
1643 refspec: "$GERRIT_REFSPEC"
1644 branch: "$GERRIT_BRANCH"
1645 submodule-recursive: "{submodule-recursive}"
1646 submodule-timeout: "{submodule-timeout}"
1647 submodule-disable: "{submodule-disable}"
1648 choosing-strategy: gerrit
1649 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1653 server-name: "{gerrit-server-name}"
1654 trigger-on: "{obj:gerrit_verify_triggers}"
1656 - project-compare-type: ANT
1657 project-pattern: "{project}"
1659 - branch-compare-type: ANT
1660 branch-pattern: "**/{branch}"
1661 file-paths: "{obj:gerrit_trigger_file_paths}"
1664 name: "{project-name}-packer-verify"
1665 id: github-packer-verify
1666 <<: *lf_packer_common
1667 # yamllint disable-line rule:key-duplicates
1668 <<: *lf_packer_verify
1670 #####################
1671 # Job Configuration #
1672 #####################
1675 - lf-infra-properties:
1676 project: "{project}"
1677 build-days-to-keep: 7
1679 url: "{github-url}/{github-org}/{project}"
1682 - lf-infra-github-scm:
1683 url: "{git-clone-url}{github-org}/{project}"
1684 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1686 submodule-recursive: "{submodule-recursive}"
1687 submodule-timeout: "{submodule-timeout}"
1688 submodule-disable: "{submodule-disable}"
1689 choosing-strategy: default
1690 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1693 - github-pull-request:
1694 trigger-phrase: "^(recheck|reverify)$"
1695 only-trigger-phrase: false
1696 status-context: "Packer Verify"
1699 included-regions: "{obj:github_included_regions}"
1700 white-list-target-branches:
1703 ################################
1704 # Openstack Update Cloud Image #
1705 ################################
1707 - lf_openstack_cron: &lf_openstack_update_cloud_image
1708 name: lf-openstack-update-cloud-image
1710 ######################
1711 # Default parameters #
1712 ######################
1715 build-days-to-keep: 7
1719 git-url: "$GIT_URL/$PROJECT"
1720 github-url: "https://github.com"
1721 new-image-name: "all"
1722 openstack-cloud: vex
1724 submodule-timeout: 10
1725 submodule-disable: false
1726 update-cloud-image: false
1728 #####################
1729 # Job Configuration #
1730 #####################
1732 project-type: freestyle
1733 node: "{build-node}"
1735 disabled: "{disable-job}"
1738 - lf-infra-properties:
1739 build-days-to-keep: "{build-days-to-keep}"
1742 - lf-infra-parameters:
1743 project: "{project}"
1747 name: NEW_IMAGE_NAME
1748 default: "{new-image-name}"
1749 description: "Name of cloud image to update in Jenkins"
1752 - lf-infra-wrappers:
1753 build-timeout: "{build-timeout}"
1754 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1755 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1756 - config-file-provider:
1758 - file-id: clouds-yaml
1759 target: "$HOME/.config/openstack/clouds.yaml"
1761 target: "$HOME/.npmrc"
1763 target: "$HOME/.config/pip/pip.conf"
1766 - lf-infra-pre-build
1768 properties-content: |
1769 OS_CLOUD={openstack-cloud}
1772 echo "Extract the image type for commit message"
1773 # echo IMAGE_TYPE=${{NEW_IMAGE_NAME% -*}} >> image-type.txt
1774 IMAGE_TYPE=$(echo ${{NEW_IMAGE_NAME}} | tr -d "\'\"\ " | awk -F- '{{ print $2 " " $3 " " $4 }}')
1775 echo IMAGE_TYPE=${{IMAGE_TYPE}} >> image-type.txt
1778 properties-file: "image-type.txt"
1779 - lf-infra-update-packer-images
1780 - lf-infra-push-gerrit-patch:
1781 project: "{project}"
1782 gerrit-user: "{gerrit-user}"
1783 gerrit-host: "{gerrit-host}"
1784 gerrit-topic: "{gerrit-topic}"
1785 gerrit-commit-message: "Update cloud image $IMAGE_TYPE"
1786 reviewers-email: "{reviewers-email}"
1792 name: "{project-name}-openstack-update-cloud-image"
1793 id: gerrit-openstack-update-cloud-image
1794 <<: *lf_openstack_update_cloud_image
1796 ######################
1797 # Default parameters #
1798 ######################
1800 git-url: "$GIT_URL/$GERRIT_PROJECT"
1802 #####################
1803 # Job Configuration #
1804 #####################
1807 - lf-infra-gerrit-scm:
1808 git-url: "{git-url}"
1809 refspec: "$GERRIT_REFSPEC"
1810 branch: "$GERRIT_BRANCH"
1811 submodule-recursive: false
1812 submodule-timeout: "{submodule-timeout}"
1813 submodule-disable: "{submodule-disable}"
1814 choosing-strategy: gerrit
1815 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1818 - timed: "{obj:cron}"
1824 - lf_puppet_verify: &lf_puppet_verify
1825 name: lf-puppet-verify
1827 ######################
1828 # Default parameters #
1829 ######################
1832 build-days-to-keep: 7
1835 git-url: "$GIT_URL/$GERRIT_PROJECT"
1836 github-url: "https://github.com"
1839 puppet-lint-version: 2.3.6
1841 submodule-recursive: true
1842 submodule-timeout: 10
1843 submodule-disable: false
1845 gerrit_trigger_file_paths:
1846 - compare-type: REG_EXP
1849 # github_included_regions MUST match gerrit_trigger_file_paths
1850 github_included_regions:
1853 #####################
1854 # Job Configuration #
1855 #####################
1857 project-type: freestyle
1858 node: "{build-node}"
1860 disabled: "{disable-job}"
1863 - lf-infra-properties:
1864 build-days-to-keep: "{build-days-to-keep}"
1867 - lf-infra-parameters:
1868 project: "{project}"
1871 - lf-puppet-parameters:
1872 puppet-lint-version: "{puppet-lint-version}"
1875 - lf-infra-wrappers:
1876 build-timeout: "{build-timeout}"
1877 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1880 - shell: !include-raw-escape: ../shell/puppet-lint.sh
1886 name: "{project-name}-puppet-verify"
1887 id: gerrit-puppet-verify
1888 <<: *lf_puppet_verify
1890 ######################
1891 # Default parameters #
1892 ######################
1894 gerrit_verify_triggers:
1895 - patchset-created-event:
1896 exclude-drafts: true
1897 exclude-trivial-rebase: false
1898 exclude-no-code-change: false
1899 - draft-published-event
1900 - comment-added-contains-event:
1901 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1903 #####################
1904 # Job Configuration #
1905 #####################
1908 - lf-infra-gerrit-scm:
1909 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1910 git-url: "{git-url}"
1911 refspec: "$GERRIT_REFSPEC"
1912 branch: "$GERRIT_BRANCH"
1913 submodule-recursive: "{submodule-recursive}"
1914 submodule-timeout: "{submodule-timeout}"
1915 submodule-disable: "{submodule-disable}"
1916 choosing-strategy: gerrit
1920 server-name: "{gerrit-server-name}"
1921 trigger-on: "{obj:gerrit_verify_triggers}"
1923 - project-compare-type: ANT
1924 project-pattern: "{project}"
1926 - branch-compare-type: ANT
1927 branch-pattern: "**/{branch}"
1928 file-paths: "{obj:gerrit_trigger_file_paths}"
1931 name: "{project-name}-puppet-verify"
1932 id: github-puppet-verify
1933 <<: *lf_puppet_verify
1935 #####################
1936 # Job Configuration #
1937 #####################
1940 - lf-infra-properties:
1941 project: "{project}"
1942 build-days-to-keep: 7
1944 url: "{github-url}/{github-org}/{project}"
1947 - lf-infra-github-scm:
1948 url: "{git-clone-url}{github-org}/{project}"
1949 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1951 submodule-recursive: "{submodule-recursive}"
1952 submodule-timeout: "{submodule-timeout}"
1953 submodule-disable: "{submodule-disable}"
1954 choosing-strategy: default
1955 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1958 - github-pull-request:
1959 trigger-phrase: "^(recheck|reverify)$"
1960 only-trigger-phrase: false
1961 status-context: "Puppet Verify"
1964 included-regions: "{obj:github_included_regions}"
1965 white-list-target-branches:
1972 - lf_sonar_common: &lf_sonar_common
1973 name: lf-sonar-common
1975 ######################
1976 # Default parameters #
1977 ######################
1979 archive-artifacts: >
1982 branch: master # Sonar should always be run on master branch
1983 build-days-to-keep: 7
1985 cron: "H H * * *" # run daily
1987 git-url: "$GIT_URL/$PROJECT"
1988 github-url: "https://github.com"
1990 submodule-recursive: true
1991 submodule-timeout: 10
1992 submodule-disable: false
1996 sonar-project-file: "sonar-project.properties"
1997 sonar-properties: ""
1999 sonar-additional-args: ""
2001 gerrit_trigger_file_paths:
2002 - compare-type: REG_EXP
2005 # github_included_regions MUST match gerrit_trigger_file_paths
2006 github_included_regions:
2009 #####################
2010 # Job Configuration #
2011 #####################
2013 project-type: freestyle
2014 node: "{build-node}"
2017 - lf-infra-properties:
2018 build-days-to-keep: "{build-days-to-keep}"
2021 - lf-infra-wrappers:
2022 build-timeout: "{build-timeout}"
2023 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2025 disabled: "{disable-job}"
2028 - lf-infra-parameters:
2029 project: "{project}"
2033 name: ARCHIVE_ARTIFACTS
2034 default: "{archive-artifacts}"
2035 description: Artifacts to archive to the logs server.
2040 - lf_sonar_builders: &lf_sonar_builders
2041 name: lf-sonar-builders
2043 - lf-infra-pre-build
2045 sonar-task: "{sonar-task}"
2046 sonar-project-file: "{sonar-project-file}"
2047 sonar-properties: "{sonar-properties}"
2048 sonar-java-opts: "{sonar-java-opts}"
2049 sonar-additional-args: "{sonar-additional-args}"
2051 - lf_sonar_builders_prescan: &lf_sonar_builders_prescan
2052 name: lf-sonar-builders-prescan
2054 - lf-infra-pre-build
2055 - lf-infra-sonar-with-prescan:
2056 sonar-task: "{sonar-task}"
2057 sonar-project-file: "{sonar-project-file}"
2058 sonar-properties: "{sonar-properties}"
2059 sonar-java-opts: "{sonar-java-opts}"
2060 sonar-additional-args: "{sonar-additional-args}"
2062 - lf_sonar_gerrit_common: &lf_sonar_gerrit_common
2063 name: lf-sonar-gerrit-common
2064 gerrit_sonar_triggers:
2065 - comment-added-contains-event:
2066 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
2069 - lf-infra-gerrit-scm:
2070 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2071 git-url: "{git-url}"
2072 refspec: $GERRIT_REFSPEC
2073 branch: $GERRIT_BRANCH
2074 submodule-recursive: "{submodule-recursive}"
2075 submodule-timeout: "{submodule-timeout}"
2076 submodule-disable: "{submodule-disable}"
2077 choosing-strategy: default
2080 - timed: "{obj:cron}"
2082 server-name: "{gerrit-server-name}"
2083 trigger-on: "{obj:gerrit_sonar_triggers}"
2085 - project-compare-type: "ANT"
2086 project-pattern: "{project}"
2088 - branch-compare-type: "ANT"
2089 branch-pattern: "**/{branch}"
2090 file-paths: "{obj:gerrit_trigger_file_paths}"
2097 - lf_sonar_github_common: &lf_sonar_github_common
2098 name: lf-sonar-github-common
2100 - lf-infra-properties:
2101 build-days-to-keep: "{build-days-to-keep}"
2103 url: "{github-url}/{github-org}/{project}"
2106 - lf-infra-github-scm:
2107 url: "{git-clone-url}{github-org}/{project}"
2108 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
2110 submodule-recursive: "{submodule-recursive}"
2111 submodule-timeout: "{submodule-timeout}"
2112 submodule-disable: "{submodule-disable}"
2113 choosing-strategy: default
2114 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2117 - github-pull-request:
2118 trigger-phrase: "^run-sonar$"
2119 only-trigger-phrase: false
2120 status-context: "Python Sonar"
2123 white-list-target-branches:
2125 included-regions: "{obj:github_included_regions}"
2128 name: "{project-name}-sonar"
2130 <<: *lf_sonar_common
2131 # yamllint disable-line rule:key-duplicates
2132 <<: *lf_sonar_builders
2133 # yamllint disable-line rule:key-duplicates
2134 <<: *lf_sonar_gerrit_common
2137 name: "{project-name}-sonar"
2139 <<: *lf_sonar_common
2140 # yamllint disable-line rule:key-duplicates
2141 <<: *lf_sonar_builders
2142 # yamllint disable-line rule:key-duplicates
2143 <<: *lf_sonar_github_common
2146 name: "{project-name}-sonar-prescan"
2147 id: gerrit-sonar-prescan
2148 <<: *lf_sonar_common
2149 # yamllint disable-line rule:key-duplicates
2150 <<: *lf_sonar_builders_prescan
2151 # yamllint disable-line rule:key-duplicates
2152 <<: *lf_sonar_gerrit_common
2155 name: "{project-name}-sonar-prescan"
2156 id: github-sonar-prescan
2157 <<: *lf_sonar_common
2158 # yamllint disable-line rule:key-duplicates
2159 <<: *lf_sonar_builders_prescan
2160 # yamllint disable-line rule:key-duplicates
2161 <<: *lf_sonar_github_common