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-install.sh
738 - ../shell/jjb-merge-job.sh
739 - ../shell/jjb-cleanup.sh
742 name: "{project-name}-jjb-merge"
745 # yamllint disable-line rule:key-duplicates
748 git-url: "$GIT_URL/$GERRIT_PROJECT"
751 - lf-infra-gerrit-scm:
755 submodule-recursive: "{submodule-recursive}"
756 submodule-timeout: "{submodule-timeout}"
757 submodule-disable: "{submodule-disable}"
758 choosing-strategy: default
759 jenkins-ssh-credential: "{jenkins-ssh-credential}"
763 server-name: "{gerrit-server-name}"
764 trigger-on: "{obj:gerrit_merge_triggers}"
766 - project-compare-type: ANT
767 project-pattern: "{project}"
769 - branch-compare-type: ANT
770 branch-pattern: "**/{branch}"
771 file-paths: "{obj:gerrit_trigger_file_paths}"
774 name: "{project-name}-jjb-merge"
777 # yamllint disable-line rule:key-duplicates
780 #####################
781 # Job Configuration #
782 #####################
785 - lf-infra-properties:
787 build-days-to-keep: 7
789 url: "{github-url}/{github-org}/{project}"
792 - lf-infra-github-scm:
793 url: "{git-clone-url}{github-org}/{project}"
795 branch: "refs/heads/{branch}"
796 submodule-recursive: "{submodule-recursive}"
797 submodule-timeout: "{submodule-timeout}"
798 submodule-disable: "{submodule-disable}"
799 choosing-strategy: default
800 jenkins-ssh-credential: "{jenkins-ssh-credential}"
806 - github-pull-request:
807 trigger-phrase: "^remerge$"
808 only-trigger-phrase: true
809 status-context: "JJB Merge"
814 white-list: "{obj:github_pr_whitelist}"
815 admin-list: "{obj:github_pr_admin_list}"
816 included-regions: "{obj:github_included_regions}"
817 white-list-target-branches:
824 - lf_jjb_verify: &lf_jjb_verify
827 ######################
828 # Default parameters #
829 ######################
831 build-concurrent: true
833 gerrit_verify_triggers:
834 - patchset-created-event:
836 exclude-trivial-rebase: false
837 exclude-no-code-change: false
838 - draft-published-event
839 - comment-added-contains-event:
840 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
842 #####################
843 # Job Configuration #
844 #####################
846 concurrent: "{build-concurrent}"
851 - shell: !include-raw-escape:
852 - ../shell/git-validate-jira-urls.sh
853 - ../shell/jjb-install.sh
854 - ../shell/jjb-verify-job.sh
855 - ../shell/jjb-check-unicode.sh
856 - ../shell/jjb-cleanup.sh
857 - lf-infra-gpg-verify-git-signature
860 name: "{project-name}-jjb-verify"
861 id: gerrit-jjb-verify
863 # yamllint disable-line rule:key-duplicates
866 ######################
867 # Default parameters #
868 ######################
870 git-url: "$GIT_URL/$GERRIT_PROJECT"
872 #####################
873 # Job Configuration #
874 #####################
877 - lf-infra-gerrit-scm:
879 refspec: "$GERRIT_REFSPEC"
880 branch: "$GERRIT_BRANCH"
881 submodule-recursive: "{submodule-recursive}"
882 submodule-timeout: "{submodule-timeout}"
883 submodule-disable: "{submodule-disable}"
884 choosing-strategy: gerrit
885 jenkins-ssh-credential: "{jenkins-ssh-credential}"
889 server-name: "{gerrit-server-name}"
890 trigger-on: "{obj:gerrit_verify_triggers}"
892 - project-compare-type: ANT
893 project-pattern: "{project}"
895 - branch-compare-type: ANT
896 branch-pattern: "**/{branch}"
897 file-paths: "{obj:gerrit_trigger_file_paths}"
900 name: "{project-name}-jjb-verify"
901 id: github-jjb-verify
903 # yamllint disable-line rule:key-duplicates
906 #####################
907 # Job Configuration #
908 #####################
911 - lf-infra-properties:
913 build-days-to-keep: 7
915 url: "{github-url}/{github-org}/{project}"
918 - lf-infra-github-scm:
919 url: "{git-clone-url}{github-org}/{project}"
920 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
922 submodule-recursive: "{submodule-recursive}"
923 submodule-timeout: "{submodule-timeout}"
924 submodule-disable: "{submodule-disable}"
925 choosing-strategy: default
926 jenkins-ssh-credential: "{jenkins-ssh-credential}"
929 - github-pull-request:
930 trigger-phrase: "^(recheck|reverify)$"
931 only-trigger-phrase: false
932 status-context: "JJB Verify"
935 included-regions: "{obj:github_included_regions}"
936 white-list-target-branches:
939 ############################
940 # JJB Verify Upstream GJJB #
941 ############################
943 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
944 name: lf-jjb-verify-upstream-gjjb
946 #####################
947 # Job Configuration #
948 #####################
955 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
956 git cherry-pick FETCH_HEAD
958 - shell: !include-raw-escape:
959 - ../shell/git-validate-jira-urls.sh
960 - ../shell/jjb-install.sh
961 - ../shell/jjb-verify-job.sh
962 - ../shell/jjb-check-unicode.sh
963 - ../shell/jjb-cleanup.sh
964 - lf-infra-gpg-verify-git-signature
967 name: "{project-name}-jjb-verify-upstream-gjjb"
968 id: gerrit-jjb-verify-upstream-gjjb
970 # yamllint disable-line rule:key-duplicates
971 <<: *lf_jjb_verify_upstream_gjjb
973 ######################
974 # Default parameters #
975 ######################
977 git-url: "$GIT_URL/$PROJECT"
978 submodule-timeout: 10
979 submodule-disable: false
981 #####################
982 # Job Configuration #
983 #####################
986 - lf-infra-gerrit-scm:
990 submodule-recursive: true
991 submodule-timeout: "{submodule-timeout}"
992 submodule-disable: "{submodule-disable}"
993 choosing-strategy: default
994 jenkins-ssh-credential: "{jenkins-ssh-credential}"
998 server-name: "LinuxFoundation"
1000 - patchset-created-event:
1001 exclude-drafts: true
1002 exclude-trivial-rebase: false
1003 exclude-no-code-change: false
1004 - draft-published-event
1005 - comment-added-contains-event:
1006 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1008 - project-compare-type: ANT
1009 project-pattern: "releng/global-jjb"
1011 - branch-compare-type: ANT
1012 branch-pattern: "**/master"
1013 override-votes: true
1014 gerrit-build-failed-codereview-value: -1
1015 gerrit-build-failed-verified-value: 0
1016 gerrit-build-successful-codereview-value: 1
1017 gerrit-build-successful-verified-value: 0
1023 - lf_license_check: &lf_license_check
1024 name: lf-license-check
1026 ######################
1027 # Default parameters #
1028 ######################
1031 build-days-to-keep: 7
1040 git-url: "$GIT_URL/$PROJECT"
1041 github-url: "https://github.com"
1043 license-exclude-paths: ""
1044 licenses-allowed: Apache-2.0,EPL-1.0,MIT
1045 project-pattern: "**"
1048 submodule-timeout: 10
1049 submodule-disable: false
1051 #####################
1052 # Job Configuration #
1053 #####################
1055 project-type: freestyle
1056 node: "{build-node}"
1058 disabled: "{disable-job}"
1061 - lf-infra-properties:
1062 build-days-to-keep: "{build-days-to-keep}"
1065 - lf-infra-parameters:
1066 project: "{project}"
1071 - lf-infra-wrappers:
1072 build-timeout: "{build-timeout}"
1073 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1077 file-patterns: "{file-patterns}"
1078 spdx-disable: "{spdx-disable}"
1079 lhc-version: "{lhc-version}"
1080 license-exclude-paths: "{license-exclude-paths}"
1081 licenses-allowed: "{licenses-allowed}"
1087 name: "{project-name}-license-check"
1088 id: gerrit-license-check
1089 <<: *lf_license_check
1091 git-url: "$GIT_URL/$GERRIT_PROJECT"
1094 - lf-infra-gerrit-scm:
1095 git-url: "{git-url}"
1096 refspec: "$GERRIT_REFSPEC"
1097 branch: "$GERRIT_BRANCH"
1098 # Submodules are out of the project's control
1099 submodule-recursive: false
1100 submodule-timeout: "{submodule-timeout}"
1101 submodule-disable: "{submodule-disable}"
1102 choosing-strategy: gerrit
1103 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1107 server-name: "{gerrit-server-name}"
1108 # Trigger should not be overridable as we want to always run
1110 - patchset-created-event:
1111 exclude-drafts: false
1112 exclude-trivial-rebase: false
1113 exclude-no-code-change: false
1114 - draft-published-event
1115 - comment-added-contains-event:
1116 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1118 - project-compare-type: ANT
1119 project-pattern: "{project-pattern}"
1121 - branch-compare-type: ANT
1122 branch-pattern: "**"
1125 name: "{project-name}-license-check"
1126 id: github-license-check
1127 <<: *lf_license_check
1130 - lf-infra-properties:
1131 build-days-to-keep: "{build-days-to-keep}"
1133 url: "{github-url}/{github-org}/{project}"
1136 - lf-infra-github-scm:
1137 url: "{git-clone-url}{github-org}/{project}"
1138 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1140 # Submodules are out of the project's control
1141 submodule-recursive: false
1142 submodule-timeout: "{submodule-timeout}"
1143 submodule-disable: "{submodule-disable}"
1144 choosing-strategy: default
1145 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1148 - github-pull-request:
1149 trigger-phrase: "^recheck$"
1150 only-trigger-phrase: false
1151 status-context: "License Check"
1154 white-list-target-branches:
1157 ####################
1158 # Info YAML Verify #
1159 ####################
1161 - lf_info_yaml_verify: &lf_info_yaml_verify
1162 name: lf-info-yaml-verify
1164 ######################
1165 # Default parameters #
1166 ######################
1168 gerrit_verify_triggers:
1169 - patchset-created-event:
1170 exclude-drafts: true
1171 exclude-trivial-rebase: false
1172 exclude-no-code-change: false
1173 - draft-published-event
1174 - comment-added-contains-event:
1175 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1177 #####################
1178 # Job Configuration #
1179 #####################
1184 - shell: !include-raw-escape:
1185 - ../shell/git-validate-info-yaml.sh
1186 - ../shell/info-file-validate.sh
1189 name: "{project-name}-info-yaml-verify"
1190 id: gerrit-info-yaml-verify
1192 # yamllint disable-line rule:key-duplicates
1193 <<: *lf_info_yaml_verify
1195 git-url: "$GIT_URL/$GERRIT_PROJECT"
1198 - lf-infra-gerrit-scm:
1199 git-url: "{git-url}"
1200 refspec: "$GERRIT_REFSPEC"
1201 branch: "$GERRIT_BRANCH"
1202 submodule-recursive: "{submodule-recursive}"
1203 submodule-timeout: "{submodule-timeout}"
1204 submodule-disable: "{submodule-disable}"
1205 choosing-strategy: gerrit
1206 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1210 server-name: "{gerrit-server-name}"
1211 trigger-on: "{obj:gerrit_verify_triggers}"
1213 - project-compare-type: ANT
1214 project-pattern: "{project}"
1216 - branch-compare-type: ANT
1217 branch-pattern: "**/{branch}"
1219 - compare-type: REG_EXP
1220 pattern: "INFO.yaml"
1223 name: "{project-name}-info-yaml-verify"
1224 id: github-info-yaml-verify
1226 # yamllint disable-line rule:key-duplicates
1227 <<: *lf_info_yaml_verify
1229 github-url: "https://github.com"
1232 url: "{github-url}/{github-org}/{project}"
1235 - lf-infra-github-scm:
1236 url: "{git-clone-url}{github-org}/{project}"
1237 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1239 submodule-recursive: "{submodule-recursive}"
1240 submodule-timeout: "{submodule-timeout}"
1241 submodule-disable: "{submodule-disable}"
1242 choosing-strategy: default
1243 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1246 - github-pull-request:
1247 trigger-phrase: "^(recheck|reverify)$"
1248 only-trigger-phrase: false
1249 status-context: "INFO File Verify"
1252 # included-regions MUST match gerrit file-paths
1253 included-regions: "INFO.yaml"
1254 white-list-target-branches:
1261 - lf_openstack_cron: &lf_openstack_cron
1262 name: lf-openstack-cron
1264 ######################
1265 # Default parameters #
1266 ######################
1269 build-days-to-keep: 7
1273 git-url: "$GIT_URL/$PROJECT"
1274 github-url: "https://github.com"
1275 openstack-cloud: vex
1276 openstack-image-cleanup: true
1277 openstack-image-cleanup-age: 30
1278 openstack-image-protect: true
1279 openstack-port-cleanup: true
1280 openstack-server-cleanup: true
1281 openstack-stack-cleanup: true
1282 openstack-volume-cleanup: true
1284 submodule-timeout: 10
1285 submodule-disable: false
1287 #####################
1288 # Job Configuration #
1289 #####################
1291 project-type: freestyle
1292 node: "{build-node}"
1294 disabled: "{disable-job}"
1297 - lf-infra-properties:
1298 build-days-to-keep: "{build-days-to-keep}"
1301 - lf-infra-parameters:
1302 project: "{project}"
1307 default: "{jenkins-urls}"
1309 Space separated list of Jenkins URLs to check for active builds.
1312 - lf-infra-wrappers:
1313 build-timeout: "{build-timeout}"
1314 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1315 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1316 - config-file-provider:
1318 - file-id: clouds-yaml
1319 target: "$HOME/.config/openstack/clouds.yaml"
1321 target: "$HOME/.npmrc"
1323 target: "$HOME/.config/pip/pip.conf"
1326 - timed: "{obj:cron}"
1329 - lf-infra-pre-build
1331 properties-content: OS_CLOUD={openstack-cloud}
1334 condition-kind: boolean-expression
1335 condition-expression: "{openstack-stack-cleanup}"
1337 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-stacks.sh
1340 condition-kind: boolean-expression
1341 condition-expression: "{openstack-server-cleanup}"
1343 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-servers.sh
1346 condition-kind: boolean-expression
1347 condition-expression: "{openstack-port-cleanup}"
1349 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-ports.sh
1352 condition-kind: boolean-expression
1353 condition-expression: "{openstack-volume-cleanup}"
1355 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-volumes.sh
1358 condition-kind: boolean-expression
1359 condition-expression: "{openstack-image-protect}"
1361 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1363 condition-kind: boolean-expression
1364 condition-expression: "{openstack-image-cleanup}"
1367 properties-content: OS_IMAGE_CLEANUP_AGE={openstack-image-cleanup-age}
1368 - shell: !include-raw-escape: ../shell/openstack-cleanup-old-images.sh
1374 name: "{project-name}-openstack-cron"
1375 id: gerrit-openstack-cron
1376 <<: *lf_openstack_cron
1379 - lf-infra-gerrit-scm:
1380 git-url: "{git-url}"
1381 refspec: "refs/heads/{branch}"
1383 submodule-recursive: true
1384 submodule-timeout: "{submodule-timeout}"
1385 submodule-disable: "{submodule-disable}"
1386 choosing-strategy: default
1387 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1390 name: "{project-name}-openstack-cron"
1391 id: github-openstack-cron
1392 <<: *lf_openstack_cron
1395 - lf-infra-github-scm:
1396 url: "{git-clone-url}{github-org}/{project}"
1398 branch: "refs/heads/{branch}"
1399 submodule-recursive: true
1400 submodule-timeout: "{submodule-timeout}"
1401 submodule-disable: "{submodule-disable}"
1402 choosing-strategy: default
1403 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1409 - lf_packer_merge: &lf_packer_merge
1410 name: lf-packer-merge
1412 ######################
1413 # Default parameters #
1414 ######################
1417 openstack-cloud: vex
1418 update-cloud-image: false
1420 #####################
1421 # Job Configuration #
1422 #####################
1425 - lf-infra-parameters:
1426 project: "{project}"
1429 - lf-packer-parameters:
1430 packer-version: "{packer-version}"
1432 name: UPDATE_CLOUD_IMAGE
1433 default: "{update-cloud-image}"
1434 description: "Update new built image on the cloud."
1437 - lf-infra-packer-build:
1438 openstack: "{openstack}"
1439 openstack-cloud: "{openstack-cloud}"
1440 packer-cloud-settings: "{packer-cloud-settings}"
1441 packer-version: "{packer-version}"
1442 platform: "{platforms}"
1443 template: "{templates}"
1444 update-cloud-image: "{update-cloud-image}"
1445 - description-setter:
1446 regexp: '(\s+.*)(ZZCI\s+.*\d+-\d+\.\d+)'
1447 description: 'Image: \2'
1449 # - project: '{project-name}-openstack-update-cloud-image'
1451 # predefined-parameters: |
1452 # GERRIT_BRANCH=$GERRIT_BRANCH
1453 # GERRIT_PROJECT=$GERRIT_PROJECT
1454 # GERRIT_REFSPEC=$GERRIT_REFSPEC
1455 # NEW_IMAGE_NAME=$NEW_IMAGE_NAME
1456 # property-file: variables.jenkins-trigger
1457 # property-file-fail-on-missing: true
1461 - trigger-parameterized-builds:
1462 - project: "{project-name}-openstack-update-cloud-image"
1463 condition: UNSTABLE_OR_BETTER
1464 predefined-parameters: |
1465 NEW_IMAGE_NAME=$NEW_IMAGE_NAME
1466 property-file: variables.jenkins-trigger
1467 fail-on-missing: true
1470 name: "{project-name}-packer-merge-{platforms}-{templates}"
1471 id: gerrit-packer-merge
1472 <<: *lf_packer_common
1473 # yamllint disable-line rule:key-duplicates
1474 <<: *lf_packer_merge
1476 ######################
1477 # Default parameters #
1478 ######################
1480 git-url: "$GIT_URL/$GERRIT_PROJECT"
1482 gerrit_merge_triggers:
1483 - change-merged-event
1484 - comment-added-contains-event:
1485 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1487 #####################
1488 # Job Configuration #
1489 #####################
1492 - lf-infra-gerrit-scm:
1493 git-url: "{git-url}"
1494 refspec: "$GERRIT_REFSPEC"
1495 branch: "$GERRIT_BRANCH"
1496 submodule-recursive: "{submodule-recursive}"
1497 submodule-timeout: "{submodule-timeout}"
1498 submodule-disable: "{submodule-disable}"
1499 choosing-strategy: default
1500 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1503 - timed: "{obj:cron}"
1505 server-name: "{gerrit-server-name}"
1506 trigger-on: "{obj:gerrit_merge_triggers}"
1508 - project-compare-type: ANT
1509 project-pattern: "{project}"
1511 - branch-compare-type: ANT
1512 branch-pattern: "**/{branch}"
1514 - compare-type: REG_EXP
1515 pattern: 'packer\/provision\/.*\.sh'
1516 - compare-type: REG_EXP
1517 pattern: 'packer\/provision\/.*\.bat'
1518 - compare-type: REG_EXP
1519 pattern: 'packer\/provision\/.*\.ps1'
1520 - compare-type: REG_EXP
1521 pattern: 'packer\/provision\/{templates}\.yaml'
1522 - compare-type: REG_EXP
1523 pattern: 'packer\/provision\/local-{templates}\.yaml'
1524 - compare-type: REG_EXP
1525 pattern: 'packer\/templates\/{templates}\.json'
1526 - compare-type: REG_EXP
1527 pattern: 'packer\/vars\/{platforms}\.json'
1530 name: "{project-name}-packer-merge-{platforms}-{templates}"
1531 id: github-packer-merge
1532 <<: *lf_packer_common
1533 # yamllint disable-line rule:key-duplicates
1534 <<: *lf_packer_merge
1536 #####################
1537 # Job Configuration #
1538 #####################
1541 - lf-infra-properties:
1542 project: "{project}"
1543 build-days-to-keep: 7
1545 url: "{github-url}/{github-org}/{project}"
1548 - lf-infra-github-scm:
1549 url: "{git-clone-url}{github-org}/{project}"
1551 +refs/heads/*:refs/remotes/origin/*
1552 +refs/pull/*:refs/remotes/origin/pr/*
1553 branch: "$GERRIT_REFSPEC"
1554 submodule-recursive: "{submodule-recursive}"
1555 submodule-timeout: "{submodule-timeout}"
1556 submodule-disable: "{submodule-disable}"
1557 choosing-strategy: default
1558 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1561 - timed: "{obj:cron}"
1566 - github-pull-request:
1567 trigger-phrase: "^remerge$"
1568 only-trigger-phrase: true
1569 status-context: "Packer {platforms}-{templates} Merge"
1574 white-list: "{obj:github_pr_whitelist}"
1575 admin-list: "{obj:github_pr_admin_list}"
1576 # included-regions MUST match Gerrit Trigger file-paths
1578 - 'packer\/provision\/.*\.sh'
1579 - 'packer\/provision\/.*\.bat'
1580 - 'packer\/provision\/.*\.ps1'
1581 - 'packer\/provision\/{templates}\.yaml'
1582 - 'packer\/provision\/local-{templates}\.yaml'
1583 - 'packer\/templates\/{templates}\.json'
1584 - 'packer\/vars\/{platforms}\.json'
1585 white-list-target-branches:
1592 - lf_packer_verify: &lf_packer_verify
1593 name: lf-packer-verify
1595 ######################
1596 # Default parameters #
1597 ######################
1601 openstack-cloud: vex
1603 gerrit_verify_triggers:
1604 - patchset-created-event:
1605 exclude-drafts: true
1606 exclude-trivial-rebase: false
1607 exclude-no-code-change: false
1608 - draft-published-event
1609 - comment-added-contains-event:
1610 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1612 gerrit_trigger_file_paths:
1613 - compare-type: REG_EXP
1614 pattern: 'packer\/.*'
1616 # github_included_regions MUST match gerrit_trigger_file_paths
1617 github_included_regions:
1620 #####################
1621 # Job Configuration #
1622 #####################
1627 - lf-infra-packer-validate:
1628 openstack: "{openstack}"
1629 openstack-cloud: "{openstack-cloud}"
1630 packer-cloud-settings: "{packer-cloud-settings}"
1631 packer-version: "{packer-version}"
1634 name: "{project-name}-packer-verify"
1635 id: gerrit-packer-verify
1636 <<: *lf_packer_common
1637 # yamllint disable-line rule:key-duplicates
1638 <<: *lf_packer_verify
1640 ######################
1641 # Default parameters #
1642 ######################
1644 git-url: "$GIT_URL/$GERRIT_PROJECT"
1646 #####################
1647 # Job Configuration #
1648 #####################
1651 - lf-infra-gerrit-scm:
1652 git-url: "{git-url}"
1653 refspec: "$GERRIT_REFSPEC"
1654 branch: "$GERRIT_BRANCH"
1655 submodule-recursive: "{submodule-recursive}"
1656 submodule-timeout: "{submodule-timeout}"
1657 submodule-disable: "{submodule-disable}"
1658 choosing-strategy: gerrit
1659 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1663 server-name: "{gerrit-server-name}"
1664 trigger-on: "{obj:gerrit_verify_triggers}"
1666 - project-compare-type: ANT
1667 project-pattern: "{project}"
1669 - branch-compare-type: ANT
1670 branch-pattern: "**/{branch}"
1671 file-paths: "{obj:gerrit_trigger_file_paths}"
1674 name: "{project-name}-packer-verify"
1675 id: github-packer-verify
1676 <<: *lf_packer_common
1677 # yamllint disable-line rule:key-duplicates
1678 <<: *lf_packer_verify
1680 #####################
1681 # Job Configuration #
1682 #####################
1685 - lf-infra-properties:
1686 project: "{project}"
1687 build-days-to-keep: 7
1689 url: "{github-url}/{github-org}/{project}"
1692 - lf-infra-github-scm:
1693 url: "{git-clone-url}{github-org}/{project}"
1694 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1696 submodule-recursive: "{submodule-recursive}"
1697 submodule-timeout: "{submodule-timeout}"
1698 submodule-disable: "{submodule-disable}"
1699 choosing-strategy: default
1700 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1703 - github-pull-request:
1704 trigger-phrase: "^(recheck|reverify)$"
1705 only-trigger-phrase: false
1706 status-context: "Packer Verify"
1709 included-regions: "{obj:github_included_regions}"
1710 white-list-target-branches:
1713 ################################
1714 # Openstack Update Cloud Image #
1715 ################################
1717 - lf_openstack_cron: &lf_openstack_update_cloud_image
1718 name: lf-openstack-update-cloud-image
1720 ######################
1721 # Default parameters #
1722 ######################
1725 build-days-to-keep: 7
1729 git-url: "$GIT_URL/$PROJECT"
1730 github-url: "https://github.com"
1731 new-image-name: "all"
1732 openstack-cloud: vex
1734 submodule-timeout: 10
1735 submodule-disable: false
1736 update-cloud-image: false
1738 #####################
1739 # Job Configuration #
1740 #####################
1742 project-type: freestyle
1743 node: "{build-node}"
1745 disabled: "{disable-job}"
1748 - lf-infra-properties:
1749 build-days-to-keep: "{build-days-to-keep}"
1752 - lf-infra-parameters:
1753 project: "{project}"
1757 name: NEW_IMAGE_NAME
1758 default: "{new-image-name}"
1759 description: "Name of cloud image to update in Jenkins"
1762 - lf-infra-wrappers:
1763 build-timeout: "{build-timeout}"
1764 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1765 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1766 - config-file-provider:
1768 - file-id: clouds-yaml
1769 target: "$HOME/.config/openstack/clouds.yaml"
1771 target: "$HOME/.npmrc"
1773 target: "$HOME/.config/pip/pip.conf"
1776 - lf-infra-pre-build
1778 properties-content: |
1779 OS_CLOUD={openstack-cloud}
1782 echo "Extract the image type for commit message"
1783 # echo IMAGE_TYPE=${{NEW_IMAGE_NAME% -*}} >> image-type.txt
1784 IMAGE_TYPE=$(echo ${{NEW_IMAGE_NAME}} | tr -d "\'\"\ " | awk -F- '{{ print $2 " " $3 " " $4 }}')
1785 echo IMAGE_TYPE=${{IMAGE_TYPE}} >> image-type.txt
1788 properties-file: "image-type.txt"
1789 - lf-infra-update-packer-images
1790 - lf-infra-push-gerrit-patch:
1791 project: "{project}"
1792 gerrit-user: "{gerrit-user}"
1793 gerrit-host: "{gerrit-host}"
1794 gerrit-topic: "{gerrit-topic}"
1795 gerrit-commit-message: "Update cloud image $IMAGE_TYPE"
1796 reviewers-email: "{reviewers-email}"
1802 name: "{project-name}-openstack-update-cloud-image"
1803 id: gerrit-openstack-update-cloud-image
1804 <<: *lf_openstack_update_cloud_image
1806 ######################
1807 # Default parameters #
1808 ######################
1810 git-url: "$GIT_URL/$GERRIT_PROJECT"
1812 #####################
1813 # Job Configuration #
1814 #####################
1817 - lf-infra-gerrit-scm:
1818 git-url: "{git-url}"
1819 refspec: "$GERRIT_REFSPEC"
1820 branch: "$GERRIT_BRANCH"
1821 submodule-recursive: false
1822 submodule-timeout: "{submodule-timeout}"
1823 submodule-disable: "{submodule-disable}"
1824 choosing-strategy: gerrit
1825 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1828 - timed: "{obj:cron}"
1834 - lf_puppet_verify: &lf_puppet_verify
1835 name: lf-puppet-verify
1837 ######################
1838 # Default parameters #
1839 ######################
1842 build-days-to-keep: 7
1845 git-url: "$GIT_URL/$GERRIT_PROJECT"
1846 github-url: "https://github.com"
1849 puppet-lint-version: 2.3.6
1851 submodule-recursive: true
1852 submodule-timeout: 10
1853 submodule-disable: false
1855 gerrit_trigger_file_paths:
1856 - compare-type: REG_EXP
1859 # github_included_regions MUST match gerrit_trigger_file_paths
1860 github_included_regions:
1863 #####################
1864 # Job Configuration #
1865 #####################
1867 project-type: freestyle
1868 node: "{build-node}"
1870 disabled: "{disable-job}"
1873 - lf-infra-properties:
1874 build-days-to-keep: "{build-days-to-keep}"
1877 - lf-infra-parameters:
1878 project: "{project}"
1881 - lf-puppet-parameters:
1882 puppet-lint-version: "{puppet-lint-version}"
1885 - lf-infra-wrappers:
1886 build-timeout: "{build-timeout}"
1887 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1890 - shell: !include-raw-escape: ../shell/puppet-lint.sh
1896 name: "{project-name}-puppet-verify"
1897 id: gerrit-puppet-verify
1898 <<: *lf_puppet_verify
1900 ######################
1901 # Default parameters #
1902 ######################
1904 gerrit_verify_triggers:
1905 - patchset-created-event:
1906 exclude-drafts: true
1907 exclude-trivial-rebase: false
1908 exclude-no-code-change: false
1909 - draft-published-event
1910 - comment-added-contains-event:
1911 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1913 #####################
1914 # Job Configuration #
1915 #####################
1918 - lf-infra-gerrit-scm:
1919 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1920 git-url: "{git-url}"
1921 refspec: "$GERRIT_REFSPEC"
1922 branch: "$GERRIT_BRANCH"
1923 submodule-recursive: "{submodule-recursive}"
1924 submodule-timeout: "{submodule-timeout}"
1925 submodule-disable: "{submodule-disable}"
1926 choosing-strategy: gerrit
1930 server-name: "{gerrit-server-name}"
1931 trigger-on: "{obj:gerrit_verify_triggers}"
1933 - project-compare-type: ANT
1934 project-pattern: "{project}"
1936 - branch-compare-type: ANT
1937 branch-pattern: "**/{branch}"
1938 file-paths: "{obj:gerrit_trigger_file_paths}"
1941 name: "{project-name}-puppet-verify"
1942 id: github-puppet-verify
1943 <<: *lf_puppet_verify
1945 #####################
1946 # Job Configuration #
1947 #####################
1950 - lf-infra-properties:
1951 project: "{project}"
1952 build-days-to-keep: 7
1954 url: "{github-url}/{github-org}/{project}"
1957 - lf-infra-github-scm:
1958 url: "{git-clone-url}{github-org}/{project}"
1959 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1961 submodule-recursive: "{submodule-recursive}"
1962 submodule-timeout: "{submodule-timeout}"
1963 submodule-disable: "{submodule-disable}"
1964 choosing-strategy: default
1965 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1968 - github-pull-request:
1969 trigger-phrase: "^(recheck|reverify)$"
1970 only-trigger-phrase: false
1971 status-context: "Puppet Verify"
1974 included-regions: "{obj:github_included_regions}"
1975 white-list-target-branches:
1982 - lf_sonar_common: &lf_sonar_common
1983 name: lf-sonar-common
1985 ######################
1986 # Default parameters #
1987 ######################
1989 archive-artifacts: >
1992 branch: master # Sonar should always be run on master branch
1993 build-days-to-keep: 7
1995 cron: "H H * * *" # run daily
1997 git-url: "$GIT_URL/$PROJECT"
1998 github-url: "https://github.com"
2000 submodule-recursive: true
2001 submodule-timeout: 10
2002 submodule-disable: false
2006 sonar-project-file: "sonar-project.properties"
2007 sonar-properties: ""
2009 sonar-additional-args: ""
2011 gerrit_trigger_file_paths:
2012 - compare-type: REG_EXP
2015 # github_included_regions MUST match gerrit_trigger_file_paths
2016 github_included_regions:
2019 #####################
2020 # Job Configuration #
2021 #####################
2023 project-type: freestyle
2024 node: "{build-node}"
2027 - lf-infra-properties:
2028 build-days-to-keep: "{build-days-to-keep}"
2031 - lf-infra-wrappers:
2032 build-timeout: "{build-timeout}"
2033 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2035 disabled: "{disable-job}"
2038 - lf-infra-parameters:
2039 project: "{project}"
2043 name: ARCHIVE_ARTIFACTS
2044 default: "{archive-artifacts}"
2045 description: Artifacts to archive to the logs server.
2050 - lf_sonar_builders: &lf_sonar_builders
2051 name: lf-sonar-builders
2053 - lf-infra-pre-build
2055 sonar-task: "{sonar-task}"
2056 sonar-project-file: "{sonar-project-file}"
2057 sonar-properties: "{sonar-properties}"
2058 sonar-java-opts: "{sonar-java-opts}"
2059 sonar-additional-args: "{sonar-additional-args}"
2061 - lf_sonar_builders_prescan: &lf_sonar_builders_prescan
2062 name: lf-sonar-builders-prescan
2064 - lf-infra-pre-build
2065 - lf-infra-sonar-with-prescan:
2066 sonar-task: "{sonar-task}"
2067 sonar-project-file: "{sonar-project-file}"
2068 sonar-properties: "{sonar-properties}"
2069 sonar-java-opts: "{sonar-java-opts}"
2070 sonar-additional-args: "{sonar-additional-args}"
2072 - lf_sonar_gerrit_common: &lf_sonar_gerrit_common
2073 name: lf-sonar-gerrit-common
2074 gerrit_sonar_triggers:
2075 - comment-added-contains-event:
2076 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
2079 - lf-infra-gerrit-scm:
2080 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2081 git-url: "{git-url}"
2082 refspec: $GERRIT_REFSPEC
2083 branch: $GERRIT_BRANCH
2084 submodule-recursive: "{submodule-recursive}"
2085 submodule-timeout: "{submodule-timeout}"
2086 submodule-disable: "{submodule-disable}"
2087 choosing-strategy: default
2090 - timed: "{obj:cron}"
2092 server-name: "{gerrit-server-name}"
2093 trigger-on: "{obj:gerrit_sonar_triggers}"
2095 - project-compare-type: "ANT"
2096 project-pattern: "{project}"
2098 - branch-compare-type: "ANT"
2099 branch-pattern: "**/{branch}"
2100 file-paths: "{obj:gerrit_trigger_file_paths}"
2107 - lf_sonar_github_common: &lf_sonar_github_common
2108 name: lf-sonar-github-common
2110 - lf-infra-properties:
2111 build-days-to-keep: "{build-days-to-keep}"
2113 url: "{github-url}/{github-org}/{project}"
2116 - lf-infra-github-scm:
2117 url: "{git-clone-url}{github-org}/{project}"
2118 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
2120 submodule-recursive: "{submodule-recursive}"
2121 submodule-timeout: "{submodule-timeout}"
2122 submodule-disable: "{submodule-disable}"
2123 choosing-strategy: default
2124 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2127 - github-pull-request:
2128 trigger-phrase: "^run-sonar$"
2129 only-trigger-phrase: false
2130 status-context: "Python Sonar"
2133 white-list-target-branches:
2135 included-regions: "{obj:github_included_regions}"
2138 name: "{project-name}-sonar"
2140 <<: *lf_sonar_common
2141 # yamllint disable-line rule:key-duplicates
2142 <<: *lf_sonar_builders
2143 # yamllint disable-line rule:key-duplicates
2144 <<: *lf_sonar_gerrit_common
2147 name: "{project-name}-sonar"
2149 <<: *lf_sonar_common
2150 # yamllint disable-line rule:key-duplicates
2151 <<: *lf_sonar_builders
2152 # yamllint disable-line rule:key-duplicates
2153 <<: *lf_sonar_github_common
2156 name: "{project-name}-sonar-prescan"
2157 id: gerrit-sonar-prescan
2158 <<: *lf_sonar_common
2159 # yamllint disable-line rule:key-duplicates
2160 <<: *lf_sonar_builders_prescan
2161 # yamllint disable-line rule:key-duplicates
2162 <<: *lf_sonar_gerrit_common
2165 name: "{project-name}-sonar-prescan"
2166 id: github-sonar-prescan
2167 <<: *lf_sonar_common
2168 # yamllint disable-line rule:key-duplicates
2169 <<: *lf_sonar_builders_prescan
2170 # yamllint disable-line rule:key-duplicates
2171 <<: *lf_sonar_github_common