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"
170 id: gerrit-branch-lock
172 ######################
173 # Default parameters #
174 ######################
178 git-url: "$GIT_URL/$GERRIT_PROJECT"
179 submodule-timeout: 10
180 submodule-disable: true
181 gerrit_merge_triggers:
182 - comment-added-contains-event:
183 comment-contains-value: (un)?lock branch$
185 #####################
186 # Job Configuration #
187 #####################
189 project-type: freestyle
191 disabled: "{disable-job}"
194 - lf-infra-properties:
196 build-days-to-keep: 1
199 - lf-infra-parameters:
207 jenkins-ssh-credential: "{jenkins-ssh-credential}"
210 - lf-infra-gerrit-scm:
213 branch: "$GERRIT_BRANCH"
214 submodule-recursive: false
215 submodule-timeout: "{submodule-timeout}"
216 submodule-disable: "{submodule-disable}"
217 choosing-strategy: default
218 jenkins-ssh-credential: "{jenkins-ssh-credential}"
222 server-name: "{gerrit-server-name}"
223 trigger-on: "{obj:gerrit_merge_triggers}"
225 - project-compare-type: ANT
226 project-pattern: "**"
228 - branch-compare-type: ANT
229 branch-pattern: "**/{branch}"
232 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
237 ##########################################
238 # Jenkins Configuration Management Merge #
239 ##########################################
242 name: lf-jenkins-cfg-clouds
246 properties-content: "jenkins_silos={jenkins-silos}"
247 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
248 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
251 name: lf-jenkins-cfg-global-vars
255 properties-content: "jenkins_silos={jenkins-silos}"
256 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
257 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
259 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
260 name: lf-jenkins-cfg-merge
262 ######################
263 # Default parameters #
264 ######################
269 git-url: "$GIT_URL/$GERRIT_PROJECT"
270 github-url: "https://github.com"
271 jenkins-silos: production sandbox
272 submodule-timeout: 10
273 submodule-disable: false
275 gerrit_merge_triggers:
276 - change-merged-event
277 - comment-added-contains-event:
278 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
280 gerrit_trigger_file_paths:
281 - compare-type: REG_EXP
282 pattern: 'jenkins-config\/.*'
284 # github_included_regions MUST match gerrit_trigger_file_paths
285 github_included_regions:
286 - 'jenkins-config\/.*'
288 #####################
289 # Job Configuration #
290 #####################
292 project-type: freestyle
295 disabled: "{disable-job}"
298 - lf-infra-properties:
300 build-days-to-keep: 1
303 - lf-infra-parameters:
311 jenkins-ssh-credential: "{jenkins-ssh-credential}"
315 - lf-jenkins-cfg-global-vars:
316 jenkins-silos: "{jenkins-silos}"
317 - lf-jenkins-cfg-clouds:
318 jenkins-silos: "{jenkins-silos}"
324 name: "{project-name}-jenkins-cfg-merge"
325 id: gerrit-jenkins-cfg-merge
326 <<: *lf_jenkins_cfg_merge
329 - lf-infra-gerrit-scm:
331 refspec: "refs/heads/{branch}"
333 submodule-recursive: true
334 submodule-timeout: "{submodule-timeout}"
335 submodule-disable: "{submodule-disable}"
336 choosing-strategy: default
337 jenkins-ssh-credential: "{jenkins-ssh-credential}"
340 - timed: "{obj:cron}"
342 server-name: "{gerrit-server-name}"
343 trigger-on: "{obj:gerrit_merge_triggers}"
345 - project-compare-type: ANT
346 project-pattern: "{project}"
348 - branch-compare-type: ANT
349 branch-pattern: "**/{branch}"
350 file-paths: "{obj:gerrit_trigger_file_paths}"
353 name: "{project-name}-jenkins-cfg-merge"
354 id: github-jenkins-cfg-merge
355 <<: *lf_jenkins_cfg_merge
358 - lf-infra-properties:
360 build-days-to-keep: 1
362 url: "{github-url}/{github-org}/{project}"
365 - lf-infra-github-scm:
366 url: "{git-clone-url}{github-org}/{project}"
368 branch: "refs/heads/{branch}"
369 submodule-recursive: true
370 submodule-timeout: "{submodule-timeout}"
371 submodule-disable: "{submodule-disable}"
372 choosing-strategy: default
373 jenkins-ssh-credential: "{jenkins-ssh-credential}"
376 - timed: "{obj:cron}"
380 - github-pull-request:
381 trigger-phrase: "^remerge$"
382 only-trigger-phrase: true
383 status-context: "Jenkins CFG Merge"
388 white-list: "{obj:github_pr_whitelist}"
389 admin-list: "{obj:github_pr_admin_list}"
390 included-regions: "{obj:github_included_regions}"
391 white-list-target-branches:
394 ###########################################
395 # Jenkins Configuration Management Verify #
396 ###########################################
398 - lf_jenkins_configuration: &lf_jenkins_cfg_verify
399 name: lf-jenkins-cfg-verify
401 ######################
402 # Default parameters #
403 ######################
406 build-days-to-keep: 7
408 git-url: "$GIT_URL/$GERRIT_PROJECT"
409 github-url: "https://github.com"
410 submodule-timeout: 10
411 submodule-disable: false
413 gerrit_verify_triggers:
414 - patchset-created-event:
416 exclude-trivial-rebase: false
417 exclude-no-code-change: false
418 - draft-published-event
419 - comment-added-contains-event:
420 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
422 gerrit_trigger_file_paths:
423 - compare-type: REG_EXP
424 pattern: 'jenkins-config\/.*'
426 # github_included_regions MUST match gerrit_trigger_file_paths
427 github_included_regions:
428 - 'jenkins-config\/.*'
430 #####################
431 # Job Configuration #
432 #####################
434 project-type: freestyle
437 disabled: "{disable-job}"
440 - lf-infra-properties:
442 build-days-to-keep: 1
445 - lf-infra-parameters:
453 jenkins-ssh-credential: "{jenkins-ssh-credential}"
454 - config-file-provider:
455 # Listed after to override openstack-infra-wrappers clouds.yaml
458 - file-id: clouds-yaml
459 target: "$HOME/.config/openstack/clouds.yaml"
461 target: "$HOME/.npmrc"
463 target: "$HOME/.config/pip/pip.conf"
467 - shell: !include-raw-escape: ../shell/jenkins-verify-images.sh
473 name: "{project-name}-jenkins-cfg-verify"
474 id: gerrit-jenkins-cfg-verify
475 <<: *lf_jenkins_cfg_verify
478 - lf-infra-gerrit-scm:
480 refspec: "$GERRIT_REFSPEC"
481 branch: "$GERRIT_BRANCH"
482 submodule-recursive: true
483 submodule-timeout: "{submodule-timeout}"
484 submodule-disable: "{submodule-disable}"
485 choosing-strategy: gerrit
486 jenkins-ssh-credential: "{jenkins-ssh-credential}"
490 server-name: "{gerrit-server-name}"
491 trigger-on: "{obj:gerrit_verify_triggers}"
493 - project-compare-type: ANT
494 project-pattern: "{project}"
496 - branch-compare-type: ANT
497 branch-pattern: "**/{branch}"
498 file-paths: "{obj:gerrit_trigger_file_paths}"
501 name: "{project-name}-jenkins-cfg-verify"
502 id: github-jenkins-cfg-verify
503 <<: *lf_jenkins_cfg_verify
507 url: "{github-url}/{github-org}/{project}"
510 - lf-infra-github-scm:
511 url: "{git-clone-url}{github-org}/{project}"
512 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
514 submodule-recursive: true
515 submodule-timeout: "{submodule-timeout}"
516 submodule-disable: "{submodule-disable}"
517 choosing-strategy: default
518 jenkins-ssh-credential: "{jenkins-ssh-credential}"
521 - github-pull-request:
522 trigger-phrase: "^(recheck|reverify)$"
523 only-trigger-phrase: false
524 status-context: "Jenkins CFG Verify"
527 included-regions: "{obj:github_included_regions}"
528 white-list-target-branches:
531 ###########################
532 # JENKINS SANDBOX CLEANUP #
533 ###########################
535 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
536 name: lf-jenkins-sandbox-cleanup
538 ######################
539 # Default parameters #
540 ######################
543 # Run every Saturday at 08:00 UTC
547 #####################
548 # Job Configuration #
549 #####################
551 project-type: freestyle
554 disabled: "{disable-job}"
557 - lf-infra-jjb-parameters:
558 jjb-cache: "{jjb-cache}"
559 jjb-version: "{jjb-version}"
562 - timed: "{obj:cron}"
566 - shell: !include-raw-escape:
567 - ../shell/jjb-install.sh
568 - ../shell/jenkins-sandbox-cleanup.sh
569 - ../shell/jjb-cleanup.sh
572 name: "{project-name}-jenkins-sandbox-cleanup"
573 id: gerrit-jenkins-sandbox-cleanup
575 # yamllint disable-line rule:key-duplicates
576 <<: *lf_jenkins_sandbox_cleanup
579 name: "{project-name}-jenkins-sandbox-cleanup"
580 id: github-jenkins-sandbox-cleanup
582 # yamllint disable-line rule:key-duplicates
583 <<: *lf_jenkins_sandbox_cleanup
589 - lf_jjb_deploy_job: &lf_jjb_deploy_job
590 name: lf-jjb-deploy-job
592 ######################
593 # Default parameters #
594 ######################
598 # jjb-deploy should always clone $PROJECT regardless of what
599 # $GERRIT_PROJECT triggered the job.
600 git-url: "$GIT_URL/$PROJECT"
601 github-url: "https://github.com"
603 submodule-timeout: 10
604 submodule-disable: false
605 gerrit_jjb_deploy_job_triggers:
606 - comment-added-contains-event:
607 comment-contains-value: '^Patch Set\s+\d+:\s+(jjb-deploy[:]* (?!\*+$).+$)'
609 #####################
610 # Job Configuration #
611 #####################
613 project-type: freestyle
616 disabled: "{disable-job}"
619 - lf-infra-properties:
621 build-days-to-keep: 1
624 - lf-infra-parameters:
632 jenkins-ssh-credential: "{jenkins-ssh-credential}"
636 pip-packages: jenkins-job-builder
638 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
644 name: "{project-name}-jjb-deploy-job"
645 id: gerrit-jjb-deploy-job
646 <<: *lf_jjb_deploy_job
649 - lf-infra-gerrit-scm:
651 refspec: "refs/heads/{branch}"
653 submodule-recursive: true
654 submodule-timeout: "{submodule-timeout}"
655 submodule-disable: "{submodule-disable}"
656 choosing-strategy: default
657 jenkins-ssh-credential: "{jenkins-ssh-credential}"
661 server-name: "{gerrit-server-name}"
662 trigger-on: "{obj:gerrit_jjb_deploy_job_triggers}"
664 - project-compare-type: ANT
665 project-pattern: "**"
667 - branch-compare-type: ANT
676 name: "{project-name}-jjb-deploy-job"
677 id: github-jjb-deploy-job
678 <<: *lf_jjb_deploy_job
681 - lf-infra-properties:
683 build-days-to-keep: 1
685 url: "{github-url}/{github-org}/{project}"
688 - lf-infra-github-scm:
689 url: "{git-clone-url}{github-org}/{project}"
690 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
692 submodule-recursive: true
693 submodule-timeout: "{submodule-timeout}"
694 submodule-disable: "{submodule-disable}"
695 choosing-strategy: default
696 jenkins-ssh-credential: "{jenkins-ssh-credential}"
699 - github-pull-request:
700 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
701 only-trigger-phrase: true
702 status-context: "JJB Deploy Job"
705 white-list-target-branches:
712 - lf_jjb_merge: &lf_jjb_merge
715 ######################
716 # Default parameters #
717 ######################
721 gerrit_merge_triggers:
722 - change-merged-event
723 - comment-added-contains-event:
724 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
726 #####################
727 # Job Configuration #
728 #####################
734 properties-content: JJB_WORKERS={jjb-workers}
735 - shell: !include-raw-escape:
736 - ../shell/jjb-merge-job.sh
739 name: "{project-name}-jjb-merge"
742 # yamllint disable-line rule:key-duplicates
745 git-url: "$GIT_URL/$GERRIT_PROJECT"
748 - lf-infra-gerrit-scm:
752 submodule-recursive: "{submodule-recursive}"
753 submodule-timeout: "{submodule-timeout}"
754 submodule-disable: "{submodule-disable}"
755 choosing-strategy: default
756 jenkins-ssh-credential: "{jenkins-ssh-credential}"
760 server-name: "{gerrit-server-name}"
761 trigger-on: "{obj:gerrit_merge_triggers}"
763 - project-compare-type: ANT
764 project-pattern: "{project}"
766 - branch-compare-type: ANT
767 branch-pattern: "**/{branch}"
768 file-paths: "{obj:gerrit_trigger_file_paths}"
771 name: "{project-name}-jjb-merge"
774 # yamllint disable-line rule:key-duplicates
777 #####################
778 # Job Configuration #
779 #####################
782 - lf-infra-properties:
784 build-days-to-keep: 7
786 url: "{github-url}/{github-org}/{project}"
789 - lf-infra-github-scm:
790 url: "{git-clone-url}{github-org}/{project}"
792 branch: "refs/heads/{branch}"
793 submodule-recursive: "{submodule-recursive}"
794 submodule-timeout: "{submodule-timeout}"
795 submodule-disable: "{submodule-disable}"
796 choosing-strategy: default
797 jenkins-ssh-credential: "{jenkins-ssh-credential}"
803 - github-pull-request:
804 trigger-phrase: "^remerge$"
805 only-trigger-phrase: true
806 status-context: "JJB Merge"
811 white-list: "{obj:github_pr_whitelist}"
812 admin-list: "{obj:github_pr_admin_list}"
813 included-regions: "{obj:github_included_regions}"
814 white-list-target-branches:
821 - lf_jjb_verify: &lf_jjb_verify
824 ######################
825 # Default parameters #
826 ######################
828 build-concurrent: true
830 gerrit_verify_triggers:
831 - patchset-created-event:
833 exclude-trivial-rebase: false
834 exclude-no-code-change: false
835 - draft-published-event
836 - comment-added-contains-event:
837 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
839 #####################
840 # Job Configuration #
841 #####################
843 concurrent: "{build-concurrent}"
848 - shell: !include-raw-escape:
849 - ../shell/jjb-verify-job.sh
850 - lf-infra-gpg-verify-git-signature
853 name: "{project-name}-jjb-verify"
854 id: gerrit-jjb-verify
856 # yamllint disable-line rule:key-duplicates
859 ######################
860 # Default parameters #
861 ######################
863 git-url: "$GIT_URL/$GERRIT_PROJECT"
865 #####################
866 # Job Configuration #
867 #####################
870 - lf-infra-gerrit-scm:
872 refspec: "$GERRIT_REFSPEC"
873 branch: "$GERRIT_BRANCH"
874 submodule-recursive: "{submodule-recursive}"
875 submodule-timeout: "{submodule-timeout}"
876 submodule-disable: "{submodule-disable}"
877 choosing-strategy: gerrit
878 jenkins-ssh-credential: "{jenkins-ssh-credential}"
882 server-name: "{gerrit-server-name}"
883 trigger-on: "{obj:gerrit_verify_triggers}"
885 - project-compare-type: ANT
886 project-pattern: "{project}"
888 - branch-compare-type: ANT
889 branch-pattern: "**/{branch}"
890 file-paths: "{obj:gerrit_trigger_file_paths}"
893 name: "{project-name}-jjb-verify"
894 id: github-jjb-verify
896 # yamllint disable-line rule:key-duplicates
899 #####################
900 # Job Configuration #
901 #####################
904 - lf-infra-properties:
906 build-days-to-keep: 7
908 url: "{github-url}/{github-org}/{project}"
911 - lf-infra-github-scm:
912 url: "{git-clone-url}{github-org}/{project}"
913 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
915 submodule-recursive: "{submodule-recursive}"
916 submodule-timeout: "{submodule-timeout}"
917 submodule-disable: "{submodule-disable}"
918 choosing-strategy: default
919 jenkins-ssh-credential: "{jenkins-ssh-credential}"
922 - github-pull-request:
923 trigger-phrase: "^(recheck|reverify)$"
924 only-trigger-phrase: false
925 status-context: "JJB Verify"
928 included-regions: "{obj:github_included_regions}"
929 white-list-target-branches:
932 ############################
933 # JJB Verify Upstream GJJB #
934 ############################
936 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
937 name: lf-jjb-verify-upstream-gjjb
939 #####################
940 # Job Configuration #
941 #####################
948 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
949 git cherry-pick FETCH_HEAD
951 - shell: !include-raw-escape:
952 - ../shell/jjb-verify-job.sh
953 - lf-infra-gpg-verify-git-signature
956 name: "{project-name}-jjb-verify-upstream-gjjb"
957 id: gerrit-jjb-verify-upstream-gjjb
959 # yamllint disable-line rule:key-duplicates
960 <<: *lf_jjb_verify_upstream_gjjb
962 ######################
963 # Default parameters #
964 ######################
966 git-url: "$GIT_URL/$PROJECT"
967 submodule-timeout: 10
968 submodule-disable: false
970 #####################
971 # Job Configuration #
972 #####################
975 - lf-infra-gerrit-scm:
979 submodule-recursive: true
980 submodule-timeout: "{submodule-timeout}"
981 submodule-disable: "{submodule-disable}"
982 choosing-strategy: default
983 jenkins-ssh-credential: "{jenkins-ssh-credential}"
987 server-name: "LinuxFoundation"
989 - patchset-created-event:
991 exclude-trivial-rebase: false
992 exclude-no-code-change: false
993 - draft-published-event
994 - comment-added-contains-event:
995 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
997 - project-compare-type: ANT
998 project-pattern: "releng/global-jjb"
1000 - branch-compare-type: ANT
1001 branch-pattern: "**/master"
1002 override-votes: true
1003 gerrit-build-failed-codereview-value: -1
1004 gerrit-build-failed-verified-value: 0
1005 gerrit-build-successful-codereview-value: 1
1006 gerrit-build-successful-verified-value: 0
1012 - lf_license_check: &lf_license_check
1013 name: lf-license-check
1015 ######################
1016 # Default parameters #
1017 ######################
1020 build-days-to-keep: 7
1029 git-url: "$GIT_URL/$PROJECT"
1030 github-url: "https://github.com"
1032 license-exclude-paths: ""
1033 licenses-allowed: Apache-2.0,EPL-1.0,MIT
1034 project-pattern: "**"
1037 submodule-timeout: 10
1038 submodule-disable: false
1040 #####################
1041 # Job Configuration #
1042 #####################
1044 project-type: freestyle
1045 node: "{build-node}"
1047 disabled: "{disable-job}"
1050 - lf-infra-properties:
1051 build-days-to-keep: "{build-days-to-keep}"
1054 - lf-infra-parameters:
1055 project: "{project}"
1060 - lf-infra-wrappers:
1061 build-timeout: "{build-timeout}"
1062 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1066 file-patterns: "{file-patterns}"
1067 spdx-disable: "{spdx-disable}"
1068 lhc-version: "{lhc-version}"
1069 license-exclude-paths: "{license-exclude-paths}"
1070 licenses-allowed: "{licenses-allowed}"
1076 name: "{project-name}-license-check"
1077 id: gerrit-license-check
1078 <<: *lf_license_check
1080 git-url: "$GIT_URL/$GERRIT_PROJECT"
1083 - lf-infra-gerrit-scm:
1084 git-url: "{git-url}"
1085 refspec: "$GERRIT_REFSPEC"
1086 branch: "$GERRIT_BRANCH"
1087 # Submodules are out of the project's control
1088 submodule-recursive: false
1089 submodule-timeout: "{submodule-timeout}"
1090 submodule-disable: "{submodule-disable}"
1091 choosing-strategy: gerrit
1092 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1096 server-name: "{gerrit-server-name}"
1097 # Trigger should not be overridable as we want to always run
1099 - patchset-created-event:
1100 exclude-drafts: false
1101 exclude-trivial-rebase: false
1102 exclude-no-code-change: false
1103 - draft-published-event
1104 - comment-added-contains-event:
1105 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1107 - project-compare-type: ANT
1108 project-pattern: "{project-pattern}"
1110 - branch-compare-type: ANT
1111 branch-pattern: "**"
1114 name: "{project-name}-license-check"
1115 id: github-license-check
1116 <<: *lf_license_check
1119 - lf-infra-properties:
1120 build-days-to-keep: "{build-days-to-keep}"
1122 url: "{github-url}/{github-org}/{project}"
1125 - lf-infra-github-scm:
1126 url: "{git-clone-url}{github-org}/{project}"
1127 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1129 # Submodules are out of the project's control
1130 submodule-recursive: false
1131 submodule-timeout: "{submodule-timeout}"
1132 submodule-disable: "{submodule-disable}"
1133 choosing-strategy: default
1134 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1137 - github-pull-request:
1138 trigger-phrase: "^recheck$"
1139 only-trigger-phrase: false
1140 status-context: "License Check"
1143 white-list-target-branches:
1146 ####################
1147 # Info YAML Verify #
1148 ####################
1150 - lf_info_yaml_verify: &lf_info_yaml_verify
1151 name: lf-info-yaml-verify
1153 ######################
1154 # Default parameters #
1155 ######################
1157 gerrit_verify_triggers:
1158 - patchset-created-event:
1159 exclude-drafts: true
1160 exclude-trivial-rebase: false
1161 exclude-no-code-change: false
1162 - draft-published-event
1163 - comment-added-contains-event:
1164 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1166 #####################
1167 # Job Configuration #
1168 #####################
1173 - shell: !include-raw-escape:
1174 - ../shell/git-validate-info-yaml.sh
1175 - ../shell/info-file-validate.sh
1178 name: "{project-name}-info-yaml-verify"
1179 id: gerrit-info-yaml-verify
1181 # yamllint disable-line rule:key-duplicates
1182 <<: *lf_info_yaml_verify
1184 git-url: "$GIT_URL/$GERRIT_PROJECT"
1187 - lf-infra-gerrit-scm:
1188 git-url: "{git-url}"
1189 refspec: "$GERRIT_REFSPEC"
1190 branch: "$GERRIT_BRANCH"
1191 submodule-recursive: "{submodule-recursive}"
1192 submodule-timeout: "{submodule-timeout}"
1193 submodule-disable: "{submodule-disable}"
1194 choosing-strategy: gerrit
1195 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1199 server-name: "{gerrit-server-name}"
1200 trigger-on: "{obj:gerrit_verify_triggers}"
1202 - project-compare-type: ANT
1203 project-pattern: "{project}"
1205 - branch-compare-type: ANT
1206 branch-pattern: "**/{branch}"
1208 - compare-type: REG_EXP
1209 pattern: "INFO.yaml"
1212 name: "{project-name}-info-yaml-verify"
1213 id: github-info-yaml-verify
1215 # yamllint disable-line rule:key-duplicates
1216 <<: *lf_info_yaml_verify
1218 github-url: "https://github.com"
1221 url: "{github-url}/{github-org}/{project}"
1224 - lf-infra-github-scm:
1225 url: "{git-clone-url}{github-org}/{project}"
1226 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1228 submodule-recursive: "{submodule-recursive}"
1229 submodule-timeout: "{submodule-timeout}"
1230 submodule-disable: "{submodule-disable}"
1231 choosing-strategy: default
1232 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1235 - github-pull-request:
1236 trigger-phrase: "^(recheck|reverify)$"
1237 only-trigger-phrase: false
1238 status-context: "INFO File Verify"
1241 # included-regions MUST match gerrit file-paths
1242 included-regions: "INFO.yaml"
1243 white-list-target-branches:
1250 - lf_openstack_cron: &lf_openstack_cron
1251 name: lf-openstack-cron
1253 ######################
1254 # Default parameters #
1255 ######################
1258 build-days-to-keep: 7
1262 git-url: "$GIT_URL/$PROJECT"
1263 github-url: "https://github.com"
1264 openstack-cloud: vex
1265 openstack-image-cleanup: true
1266 openstack-image-cleanup-age: 30
1267 openstack-image-protect: true
1268 openstack-port-cleanup: true
1269 openstack-server-cleanup: true
1270 openstack-stack-cleanup: true
1271 openstack-volume-cleanup: true
1273 submodule-timeout: 10
1274 submodule-disable: false
1276 #####################
1277 # Job Configuration #
1278 #####################
1280 project-type: freestyle
1281 node: "{build-node}"
1283 disabled: "{disable-job}"
1286 - lf-infra-properties:
1287 build-days-to-keep: "{build-days-to-keep}"
1290 - lf-infra-parameters:
1291 project: "{project}"
1296 default: "{jenkins-urls}"
1298 Space separated list of Jenkins URLs to check for active builds.
1301 - lf-infra-wrappers:
1302 build-timeout: "{build-timeout}"
1303 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1304 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1305 - config-file-provider:
1307 - file-id: clouds-yaml
1308 target: "$HOME/.config/openstack/clouds.yaml"
1310 target: "$HOME/.npmrc"
1312 target: "$HOME/.config/pip/pip.conf"
1315 - timed: "{obj:cron}"
1318 - lf-infra-pre-build
1320 properties-content: OS_CLOUD={openstack-cloud}
1323 condition-kind: boolean-expression
1324 condition-expression: "{openstack-stack-cleanup}"
1326 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-stacks.sh
1329 condition-kind: boolean-expression
1330 condition-expression: "{openstack-server-cleanup}"
1332 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-servers.sh
1335 condition-kind: boolean-expression
1336 condition-expression: "{openstack-port-cleanup}"
1338 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-ports.sh
1341 condition-kind: boolean-expression
1342 condition-expression: "{openstack-volume-cleanup}"
1344 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-volumes.sh
1347 condition-kind: boolean-expression
1348 condition-expression: "{openstack-image-protect}"
1350 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1352 condition-kind: boolean-expression
1353 condition-expression: "{openstack-image-cleanup}"
1356 properties-content: OS_IMAGE_CLEANUP_AGE={openstack-image-cleanup-age}
1357 - shell: !include-raw-escape: ../shell/openstack-cleanup-old-images.sh
1363 name: "{project-name}-openstack-cron"
1364 id: gerrit-openstack-cron
1365 <<: *lf_openstack_cron
1368 - lf-infra-gerrit-scm:
1369 git-url: "{git-url}"
1370 refspec: "refs/heads/{branch}"
1372 submodule-recursive: true
1373 submodule-timeout: "{submodule-timeout}"
1374 submodule-disable: "{submodule-disable}"
1375 choosing-strategy: default
1376 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1379 name: "{project-name}-openstack-cron"
1380 id: github-openstack-cron
1381 <<: *lf_openstack_cron
1384 - lf-infra-github-scm:
1385 url: "{git-clone-url}{github-org}/{project}"
1387 branch: "refs/heads/{branch}"
1388 submodule-recursive: true
1389 submodule-timeout: "{submodule-timeout}"
1390 submodule-disable: "{submodule-disable}"
1391 choosing-strategy: default
1392 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1398 - lf_packer_merge: &lf_packer_merge
1399 name: lf-packer-merge
1401 ######################
1402 # Default parameters #
1403 ######################
1406 openstack-cloud: vex
1407 update-cloud-image: false
1409 #####################
1410 # Job Configuration #
1411 #####################
1414 - lf-infra-parameters:
1415 project: "{project}"
1418 - lf-packer-parameters:
1419 packer-version: "{packer-version}"
1421 name: UPDATE_CLOUD_IMAGE
1422 default: "{update-cloud-image}"
1423 description: "Update new built image on the cloud."
1426 - lf-infra-packer-build:
1427 openstack: "{openstack}"
1428 openstack-cloud: "{openstack-cloud}"
1429 packer-cloud-settings: "{packer-cloud-settings}"
1430 packer-version: "{packer-version}"
1431 platform: "{platforms}"
1432 template: "{templates}"
1433 update-cloud-image: "{update-cloud-image}"
1434 - description-setter:
1435 regexp: '(\s+.*)(ZZCI\s+.*\d+-\d+\.\d+)'
1436 description: 'Image: \2'
1438 # - project: '{project-name}-openstack-update-cloud-image'
1440 # predefined-parameters: |
1441 # GERRIT_BRANCH=$GERRIT_BRANCH
1442 # GERRIT_PROJECT=$GERRIT_PROJECT
1443 # GERRIT_REFSPEC=$GERRIT_REFSPEC
1444 # NEW_IMAGE_NAME=$NEW_IMAGE_NAME
1445 # property-file: variables.jenkins-trigger
1446 # property-file-fail-on-missing: true
1450 - trigger-parameterized-builds:
1451 - project: "{project-name}-openstack-update-cloud-image"
1452 condition: UNSTABLE_OR_BETTER
1453 predefined-parameters: |
1454 NEW_IMAGE_NAME=$NEW_IMAGE_NAME
1455 property-file: variables.jenkins-trigger
1456 fail-on-missing: true
1459 name: "{project-name}-packer-merge-{platforms}-{templates}"
1460 id: gerrit-packer-merge
1461 <<: *lf_packer_common
1462 # yamllint disable-line rule:key-duplicates
1463 <<: *lf_packer_merge
1465 ######################
1466 # Default parameters #
1467 ######################
1469 git-url: "$GIT_URL/$GERRIT_PROJECT"
1471 gerrit_merge_triggers:
1472 - change-merged-event
1473 - comment-added-contains-event:
1474 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1476 #####################
1477 # Job Configuration #
1478 #####################
1481 - lf-infra-gerrit-scm:
1482 git-url: "{git-url}"
1483 refspec: "$GERRIT_REFSPEC"
1484 branch: "$GERRIT_BRANCH"
1485 submodule-recursive: "{submodule-recursive}"
1486 submodule-timeout: "{submodule-timeout}"
1487 submodule-disable: "{submodule-disable}"
1488 choosing-strategy: default
1489 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1492 - timed: "{obj:cron}"
1494 server-name: "{gerrit-server-name}"
1495 trigger-on: "{obj:gerrit_merge_triggers}"
1497 - project-compare-type: ANT
1498 project-pattern: "{project}"
1500 - branch-compare-type: ANT
1501 branch-pattern: "**/{branch}"
1503 - compare-type: REG_EXP
1504 pattern: 'packer\/provision\/.*\.sh'
1505 - compare-type: REG_EXP
1506 pattern: 'packer\/provision\/.*\.bat'
1507 - compare-type: REG_EXP
1508 pattern: 'packer\/provision\/.*\.ps1'
1509 - compare-type: REG_EXP
1510 pattern: 'packer\/provision\/{templates}\.yaml'
1511 - compare-type: REG_EXP
1512 pattern: 'packer\/provision\/local-{templates}\.yaml'
1513 - compare-type: REG_EXP
1514 pattern: 'packer\/templates\/{templates}\.json'
1515 - compare-type: REG_EXP
1516 pattern: 'packer\/vars\/{platforms}\.json'
1519 name: "{project-name}-packer-merge-{platforms}-{templates}"
1520 id: github-packer-merge
1521 <<: *lf_packer_common
1522 # yamllint disable-line rule:key-duplicates
1523 <<: *lf_packer_merge
1525 #####################
1526 # Job Configuration #
1527 #####################
1530 - lf-infra-properties:
1531 project: "{project}"
1532 build-days-to-keep: 7
1534 url: "{github-url}/{github-org}/{project}"
1537 - lf-infra-github-scm:
1538 url: "{git-clone-url}{github-org}/{project}"
1540 +refs/heads/*:refs/remotes/origin/*
1541 +refs/pull/*:refs/remotes/origin/pr/*
1542 branch: "$GERRIT_REFSPEC"
1543 submodule-recursive: "{submodule-recursive}"
1544 submodule-timeout: "{submodule-timeout}"
1545 submodule-disable: "{submodule-disable}"
1546 choosing-strategy: default
1547 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1550 - timed: "{obj:cron}"
1555 - github-pull-request:
1556 trigger-phrase: "^remerge$"
1557 only-trigger-phrase: true
1558 status-context: "Packer {platforms}-{templates} Merge"
1563 white-list: "{obj:github_pr_whitelist}"
1564 admin-list: "{obj:github_pr_admin_list}"
1565 # included-regions MUST match Gerrit Trigger file-paths
1567 - 'packer\/provision\/.*\.sh'
1568 - 'packer\/provision\/.*\.bat'
1569 - 'packer\/provision\/.*\.ps1'
1570 - 'packer\/provision\/{templates}\.yaml'
1571 - 'packer\/provision\/local-{templates}\.yaml'
1572 - 'packer\/templates\/{templates}\.json'
1573 - 'packer\/vars\/{platforms}\.json'
1574 white-list-target-branches:
1581 - lf_packer_verify: &lf_packer_verify
1582 name: lf-packer-verify
1584 ######################
1585 # Default parameters #
1586 ######################
1590 openstack-cloud: vex
1592 gerrit_verify_triggers:
1593 - patchset-created-event:
1594 exclude-drafts: true
1595 exclude-trivial-rebase: false
1596 exclude-no-code-change: false
1597 - draft-published-event
1598 - comment-added-contains-event:
1599 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1601 gerrit_trigger_file_paths:
1602 - compare-type: REG_EXP
1603 pattern: 'packer\/.*'
1605 # github_included_regions MUST match gerrit_trigger_file_paths
1606 github_included_regions:
1609 #####################
1610 # Job Configuration #
1611 #####################
1616 - lf-infra-packer-validate:
1617 openstack: "{openstack}"
1618 openstack-cloud: "{openstack-cloud}"
1619 packer-cloud-settings: "{packer-cloud-settings}"
1620 packer-version: "{packer-version}"
1623 name: "{project-name}-packer-verify"
1624 id: gerrit-packer-verify
1625 <<: *lf_packer_common
1626 # yamllint disable-line rule:key-duplicates
1627 <<: *lf_packer_verify
1629 ######################
1630 # Default parameters #
1631 ######################
1633 git-url: "$GIT_URL/$GERRIT_PROJECT"
1635 #####################
1636 # Job Configuration #
1637 #####################
1640 - lf-infra-gerrit-scm:
1641 git-url: "{git-url}"
1642 refspec: "$GERRIT_REFSPEC"
1643 branch: "$GERRIT_BRANCH"
1644 submodule-recursive: "{submodule-recursive}"
1645 submodule-timeout: "{submodule-timeout}"
1646 submodule-disable: "{submodule-disable}"
1647 choosing-strategy: gerrit
1648 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1652 server-name: "{gerrit-server-name}"
1653 trigger-on: "{obj:gerrit_verify_triggers}"
1655 - project-compare-type: ANT
1656 project-pattern: "{project}"
1658 - branch-compare-type: ANT
1659 branch-pattern: "**/{branch}"
1660 file-paths: "{obj:gerrit_trigger_file_paths}"
1663 name: "{project-name}-packer-verify"
1664 id: github-packer-verify
1665 <<: *lf_packer_common
1666 # yamllint disable-line rule:key-duplicates
1667 <<: *lf_packer_verify
1669 #####################
1670 # Job Configuration #
1671 #####################
1674 - lf-infra-properties:
1675 project: "{project}"
1676 build-days-to-keep: 7
1678 url: "{github-url}/{github-org}/{project}"
1681 - lf-infra-github-scm:
1682 url: "{git-clone-url}{github-org}/{project}"
1683 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1685 submodule-recursive: "{submodule-recursive}"
1686 submodule-timeout: "{submodule-timeout}"
1687 submodule-disable: "{submodule-disable}"
1688 choosing-strategy: default
1689 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1692 - github-pull-request:
1693 trigger-phrase: "^(recheck|reverify)$"
1694 only-trigger-phrase: false
1695 status-context: "Packer Verify"
1698 included-regions: "{obj:github_included_regions}"
1699 white-list-target-branches:
1702 ################################
1703 # Openstack Update Cloud Image #
1704 ################################
1706 - lf_openstack_cron: &lf_openstack_update_cloud_image
1707 name: lf-openstack-update-cloud-image
1709 ######################
1710 # Default parameters #
1711 ######################
1714 build-days-to-keep: 7
1718 git-url: "$GIT_URL/$PROJECT"
1719 github-url: "https://github.com"
1720 new-image-name: "all"
1721 openstack-cloud: vex
1723 submodule-timeout: 10
1724 submodule-disable: false
1725 update-cloud-image: false
1727 #####################
1728 # Job Configuration #
1729 #####################
1731 project-type: freestyle
1732 node: "{build-node}"
1734 disabled: "{disable-job}"
1737 - lf-infra-properties:
1738 build-days-to-keep: "{build-days-to-keep}"
1741 - lf-infra-parameters:
1742 project: "{project}"
1746 name: NEW_IMAGE_NAME
1747 default: "{new-image-name}"
1748 description: "Name of cloud image to update in Jenkins"
1751 - lf-infra-wrappers:
1752 build-timeout: "{build-timeout}"
1753 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1754 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1755 - config-file-provider:
1757 - file-id: clouds-yaml
1758 target: "$HOME/.config/openstack/clouds.yaml"
1760 target: "$HOME/.npmrc"
1762 target: "$HOME/.config/pip/pip.conf"
1765 - lf-infra-pre-build
1767 properties-content: |
1768 OS_CLOUD={openstack-cloud}
1771 echo "Extract the image type for commit message"
1772 # echo IMAGE_TYPE=${{NEW_IMAGE_NAME% -*}} >> image-type.txt
1773 IMAGE_TYPE=$(echo ${{NEW_IMAGE_NAME}} | tr -d "\'\"\ " | awk -F- '{{ print $2 " " $3 " " $4 }}')
1774 echo IMAGE_TYPE=${{IMAGE_TYPE}} >> image-type.txt
1777 properties-file: "image-type.txt"
1778 - lf-infra-update-packer-images
1779 - lf-infra-push-gerrit-patch:
1780 project: "{project}"
1781 gerrit-user: "{gerrit-user}"
1782 gerrit-host: "{gerrit-host}"
1783 gerrit-topic: "{gerrit-topic}"
1784 gerrit-commit-message: "Update cloud image $IMAGE_TYPE"
1785 reviewers-email: "{reviewers-email}"
1791 name: "{project-name}-openstack-update-cloud-image"
1792 id: gerrit-openstack-update-cloud-image
1793 <<: *lf_openstack_update_cloud_image
1795 ######################
1796 # Default parameters #
1797 ######################
1799 git-url: "$GIT_URL/$GERRIT_PROJECT"
1801 #####################
1802 # Job Configuration #
1803 #####################
1806 - lf-infra-gerrit-scm:
1807 git-url: "{git-url}"
1808 refspec: "$GERRIT_REFSPEC"
1809 branch: "$GERRIT_BRANCH"
1810 submodule-recursive: false
1811 submodule-timeout: "{submodule-timeout}"
1812 submodule-disable: "{submodule-disable}"
1813 choosing-strategy: gerrit
1814 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1817 - timed: "{obj:cron}"
1823 - lf_puppet_verify: &lf_puppet_verify
1824 name: lf-puppet-verify
1826 ######################
1827 # Default parameters #
1828 ######################
1831 build-days-to-keep: 7
1834 git-url: "$GIT_URL/$GERRIT_PROJECT"
1835 github-url: "https://github.com"
1838 puppet-lint-version: 2.3.6
1840 submodule-recursive: true
1841 submodule-timeout: 10
1842 submodule-disable: false
1844 gerrit_trigger_file_paths:
1845 - compare-type: REG_EXP
1848 # github_included_regions MUST match gerrit_trigger_file_paths
1849 github_included_regions:
1852 #####################
1853 # Job Configuration #
1854 #####################
1856 project-type: freestyle
1857 node: "{build-node}"
1859 disabled: "{disable-job}"
1862 - lf-infra-properties:
1863 build-days-to-keep: "{build-days-to-keep}"
1866 - lf-infra-parameters:
1867 project: "{project}"
1870 - lf-puppet-parameters:
1871 puppet-lint-version: "{puppet-lint-version}"
1874 - lf-infra-wrappers:
1875 build-timeout: "{build-timeout}"
1876 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1879 - shell: !include-raw-escape: ../shell/puppet-lint.sh
1885 name: "{project-name}-puppet-verify"
1886 id: gerrit-puppet-verify
1887 <<: *lf_puppet_verify
1889 ######################
1890 # Default parameters #
1891 ######################
1893 gerrit_verify_triggers:
1894 - patchset-created-event:
1895 exclude-drafts: true
1896 exclude-trivial-rebase: false
1897 exclude-no-code-change: false
1898 - draft-published-event
1899 - comment-added-contains-event:
1900 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1902 #####################
1903 # Job Configuration #
1904 #####################
1907 - lf-infra-gerrit-scm:
1908 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1909 git-url: "{git-url}"
1910 refspec: "$GERRIT_REFSPEC"
1911 branch: "$GERRIT_BRANCH"
1912 submodule-recursive: "{submodule-recursive}"
1913 submodule-timeout: "{submodule-timeout}"
1914 submodule-disable: "{submodule-disable}"
1915 choosing-strategy: gerrit
1919 server-name: "{gerrit-server-name}"
1920 trigger-on: "{obj:gerrit_verify_triggers}"
1922 - project-compare-type: ANT
1923 project-pattern: "{project}"
1925 - branch-compare-type: ANT
1926 branch-pattern: "**/{branch}"
1927 file-paths: "{obj:gerrit_trigger_file_paths}"
1930 name: "{project-name}-puppet-verify"
1931 id: github-puppet-verify
1932 <<: *lf_puppet_verify
1934 #####################
1935 # Job Configuration #
1936 #####################
1939 - lf-infra-properties:
1940 project: "{project}"
1941 build-days-to-keep: 7
1943 url: "{github-url}/{github-org}/{project}"
1946 - lf-infra-github-scm:
1947 url: "{git-clone-url}{github-org}/{project}"
1948 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1950 submodule-recursive: "{submodule-recursive}"
1951 submodule-timeout: "{submodule-timeout}"
1952 submodule-disable: "{submodule-disable}"
1953 choosing-strategy: default
1954 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1957 - github-pull-request:
1958 trigger-phrase: "^(recheck|reverify)$"
1959 only-trigger-phrase: false
1960 status-context: "Puppet Verify"
1963 included-regions: "{obj:github_included_regions}"
1964 white-list-target-branches:
1971 - lf_sonar_common: &lf_sonar_common
1972 name: lf-sonar-common
1974 ######################
1975 # Default parameters #
1976 ######################
1978 archive-artifacts: >
1981 branch: master # Sonar should always be run on master branch
1982 build-days-to-keep: 7
1984 cron: "H H * * *" # run daily
1986 git-url: "$GIT_URL/$PROJECT"
1987 github-url: "https://github.com"
1989 submodule-recursive: true
1990 submodule-timeout: 10
1991 submodule-disable: false
1995 sonar-project-file: "sonar-project.properties"
1996 sonar-properties: ""
1998 sonar-additional-args: ""
2000 gerrit_trigger_file_paths:
2001 - compare-type: REG_EXP
2004 # github_included_regions MUST match gerrit_trigger_file_paths
2005 github_included_regions:
2008 #####################
2009 # Job Configuration #
2010 #####################
2012 project-type: freestyle
2013 node: "{build-node}"
2016 - lf-infra-properties:
2017 build-days-to-keep: "{build-days-to-keep}"
2020 - lf-infra-wrappers:
2021 build-timeout: "{build-timeout}"
2022 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2024 disabled: "{disable-job}"
2027 - lf-infra-parameters:
2028 project: "{project}"
2032 name: ARCHIVE_ARTIFACTS
2033 default: "{archive-artifacts}"
2034 description: Artifacts to archive to the logs server.
2039 - lf_sonar_builders: &lf_sonar_builders
2040 name: lf-sonar-builders
2042 - lf-infra-pre-build
2044 sonar-task: "{sonar-task}"
2045 sonar-project-file: "{sonar-project-file}"
2046 sonar-properties: "{sonar-properties}"
2047 sonar-java-opts: "{sonar-java-opts}"
2048 sonar-additional-args: "{sonar-additional-args}"
2050 - lf_sonar_builders_prescan: &lf_sonar_builders_prescan
2051 name: lf-sonar-builders-prescan
2053 - lf-infra-pre-build
2054 - lf-infra-sonar-with-prescan:
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_gerrit_common: &lf_sonar_gerrit_common
2062 name: lf-sonar-gerrit-common
2063 gerrit_sonar_triggers:
2064 - comment-added-contains-event:
2065 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
2068 - lf-infra-gerrit-scm:
2069 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2070 git-url: "{git-url}"
2071 refspec: $GERRIT_REFSPEC
2072 branch: $GERRIT_BRANCH
2073 submodule-recursive: "{submodule-recursive}"
2074 submodule-timeout: "{submodule-timeout}"
2075 submodule-disable: "{submodule-disable}"
2076 choosing-strategy: default
2079 - timed: "{obj:cron}"
2081 server-name: "{gerrit-server-name}"
2082 trigger-on: "{obj:gerrit_sonar_triggers}"
2084 - project-compare-type: "ANT"
2085 project-pattern: "{project}"
2087 - branch-compare-type: "ANT"
2088 branch-pattern: "**/{branch}"
2089 file-paths: "{obj:gerrit_trigger_file_paths}"
2096 - lf_sonar_github_common: &lf_sonar_github_common
2097 name: lf-sonar-github-common
2099 - lf-infra-properties:
2100 build-days-to-keep: "{build-days-to-keep}"
2102 url: "{github-url}/{github-org}/{project}"
2105 - lf-infra-github-scm:
2106 url: "{git-clone-url}{github-org}/{project}"
2107 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
2109 submodule-recursive: "{submodule-recursive}"
2110 submodule-timeout: "{submodule-timeout}"
2111 submodule-disable: "{submodule-disable}"
2112 choosing-strategy: default
2113 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2116 - github-pull-request:
2117 trigger-phrase: "^run-sonar$"
2118 only-trigger-phrase: false
2119 status-context: "Python Sonar"
2122 white-list-target-branches:
2124 included-regions: "{obj:github_included_regions}"
2127 name: "{project-name}-sonar"
2129 <<: *lf_sonar_common
2130 # yamllint disable-line rule:key-duplicates
2131 <<: *lf_sonar_builders
2132 # yamllint disable-line rule:key-duplicates
2133 <<: *lf_sonar_gerrit_common
2136 name: "{project-name}-sonar"
2138 <<: *lf_sonar_common
2139 # yamllint disable-line rule:key-duplicates
2140 <<: *lf_sonar_builders
2141 # yamllint disable-line rule:key-duplicates
2142 <<: *lf_sonar_github_common
2145 name: "{project-name}-sonar-prescan"
2146 id: gerrit-sonar-prescan
2147 <<: *lf_sonar_common
2148 # yamllint disable-line rule:key-duplicates
2149 <<: *lf_sonar_builders_prescan
2150 # yamllint disable-line rule:key-duplicates
2151 <<: *lf_sonar_gerrit_common
2154 name: "{project-name}-sonar-prescan"
2155 id: github-sonar-prescan
2156 <<: *lf_sonar_common
2157 # yamllint disable-line rule:key-duplicates
2158 <<: *lf_sonar_builders_prescan
2159 # yamllint disable-line rule:key-duplicates
2160 <<: *lf_sonar_github_common