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}"
230 comment-text-parameter-mode: PLAIN
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/jenkins-sandbox-cleanup.sh
571 name: "{project-name}-jenkins-sandbox-cleanup"
572 id: gerrit-jenkins-sandbox-cleanup
574 # yamllint disable-line rule:key-duplicates
575 <<: *lf_jenkins_sandbox_cleanup
578 name: "{project-name}-jenkins-sandbox-cleanup"
579 id: github-jenkins-sandbox-cleanup
581 # yamllint disable-line rule:key-duplicates
582 <<: *lf_jenkins_sandbox_cleanup
588 - lf_jjb_deploy_job: &lf_jjb_deploy_job
589 name: lf-jjb-deploy-job
591 ######################
592 # Default parameters #
593 ######################
597 # jjb-deploy should always clone $PROJECT regardless of what
598 # $GERRIT_PROJECT triggered the job.
599 git-url: "$GIT_URL/$PROJECT"
600 github-url: "https://github.com"
602 submodule-timeout: 10
603 submodule-disable: false
604 gerrit_jjb_deploy_job_triggers:
605 - comment-added-contains-event:
606 comment-contains-value: '^Patch Set\s+\d+:\s+(jjb-deploy[:]* (?!\*+$).+$)'
608 #####################
609 # Job Configuration #
610 #####################
612 project-type: freestyle
615 disabled: "{disable-job}"
618 - lf-infra-properties:
620 build-days-to-keep: 1
623 - lf-infra-parameters:
627 - lf-infra-jjb-parameters:
628 jjb-cache: "{jjb-cache}"
629 jjb-version: "{jjb-version}"
634 jenkins-ssh-credential: "{jenkins-ssh-credential}"
638 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
644 name: "{project-name}-jjb-deploy-job"
645 id: gerrit-jjb-deploy-job
647 # yamllint disable-line rule:key-duplicates
648 <<: *lf_jjb_deploy_job
651 - lf-infra-gerrit-scm:
653 refspec: "refs/heads/{branch}"
655 submodule-recursive: true
656 submodule-timeout: "{submodule-timeout}"
657 submodule-disable: "{submodule-disable}"
658 choosing-strategy: default
659 jenkins-ssh-credential: "{jenkins-ssh-credential}"
663 server-name: "{gerrit-server-name}"
664 trigger-on: "{obj:gerrit_jjb_deploy_job_triggers}"
666 - project-compare-type: ANT
667 project-pattern: "**"
669 - branch-compare-type: ANT
676 comment-text-parameter-mode: PLAIN
679 name: "{project-name}-jjb-deploy-job"
680 id: github-jjb-deploy-job
682 # yamllint disable-line rule:key-duplicates
683 <<: *lf_jjb_deploy_job
686 - lf-infra-properties:
688 build-days-to-keep: 1
690 url: "{github-url}/{github-org}/{project}"
693 - lf-infra-github-scm:
694 url: "{git-clone-url}{github-org}/{project}"
695 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
697 submodule-recursive: true
698 submodule-timeout: "{submodule-timeout}"
699 submodule-disable: "{submodule-disable}"
700 choosing-strategy: default
701 jenkins-ssh-credential: "{jenkins-ssh-credential}"
704 - github-pull-request:
705 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
706 only-trigger-phrase: true
707 status-context: "JJB Deploy Job"
710 white-list-target-branches:
717 - lf_jjb_merge: &lf_jjb_merge
720 ######################
721 # Default parameters #
722 ######################
726 gerrit_merge_triggers:
727 - change-merged-event
728 - comment-added-contains-event:
729 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
731 #####################
732 # Job Configuration #
733 #####################
739 properties-content: JJB_WORKERS={jjb-workers}
740 - shell: !include-raw-escape:
741 - ../shell/jjb-merge-job.sh
744 name: "{project-name}-jjb-merge"
747 # yamllint disable-line rule:key-duplicates
750 git-url: "$GIT_URL/$GERRIT_PROJECT"
753 - lf-infra-gerrit-scm:
757 submodule-recursive: "{submodule-recursive}"
758 submodule-timeout: "{submodule-timeout}"
759 submodule-disable: "{submodule-disable}"
760 choosing-strategy: default
761 jenkins-ssh-credential: "{jenkins-ssh-credential}"
765 server-name: "{gerrit-server-name}"
766 trigger-on: "{obj:gerrit_merge_triggers}"
768 - project-compare-type: ANT
769 project-pattern: "{project}"
771 - branch-compare-type: ANT
772 branch-pattern: "**/{branch}"
773 file-paths: "{obj:gerrit_trigger_file_paths}"
776 name: "{project-name}-jjb-merge"
779 # yamllint disable-line rule:key-duplicates
782 #####################
783 # Job Configuration #
784 #####################
787 - lf-infra-properties:
789 build-days-to-keep: 7
791 url: "{github-url}/{github-org}/{project}"
794 - lf-infra-github-scm:
795 url: "{git-clone-url}{github-org}/{project}"
797 branch: "refs/heads/{branch}"
798 submodule-recursive: "{submodule-recursive}"
799 submodule-timeout: "{submodule-timeout}"
800 submodule-disable: "{submodule-disable}"
801 choosing-strategy: default
802 jenkins-ssh-credential: "{jenkins-ssh-credential}"
808 - github-pull-request:
809 trigger-phrase: "^remerge$"
810 only-trigger-phrase: true
811 status-context: "JJB Merge"
816 white-list: "{obj:github_pr_whitelist}"
817 admin-list: "{obj:github_pr_admin_list}"
818 included-regions: "{obj:github_included_regions}"
819 white-list-target-branches:
826 - lf_jjb_verify: &lf_jjb_verify
829 ######################
830 # Default parameters #
831 ######################
833 build-concurrent: true
834 build-node-label-check: false
835 build-node-label-list: ""
837 gerrit_verify_triggers:
838 - patchset-created-event:
840 exclude-trivial-rebase: false
841 exclude-no-code-change: false
842 - draft-published-event
843 - comment-added-contains-event:
844 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
846 #####################
847 # Job Configuration #
848 #####################
850 concurrent: "{build-concurrent}"
855 - shell: !include-raw-escape:
856 - ../shell/jjb-verify-job.sh
858 condition-kind: boolean-expression
859 condition-expression: "{build-node-label-check}"
860 on-evaluation-failure: dont-run
863 properties-content: EXTERNAL_LABELS="{build-node-label-list}"
864 - shell: !include-raw-escape:
865 - ../shell/jjb-verify-build-nodes.sh
866 - lf-infra-gpg-verify-git-signature
869 name: "{project-name}-jjb-verify"
870 id: gerrit-jjb-verify
872 # yamllint disable-line rule:key-duplicates
875 ######################
876 # Default parameters #
877 ######################
879 git-url: "$GIT_URL/$GERRIT_PROJECT"
881 #####################
882 # Job Configuration #
883 #####################
886 - lf-infra-gerrit-scm:
888 refspec: "$GERRIT_REFSPEC"
889 branch: "$GERRIT_BRANCH"
890 submodule-recursive: "{submodule-recursive}"
891 submodule-timeout: "{submodule-timeout}"
892 submodule-disable: "{submodule-disable}"
893 choosing-strategy: gerrit
894 jenkins-ssh-credential: "{jenkins-ssh-credential}"
898 server-name: "{gerrit-server-name}"
899 trigger-on: "{obj:gerrit_verify_triggers}"
901 - project-compare-type: ANT
902 project-pattern: "{project}"
904 - branch-compare-type: ANT
905 branch-pattern: "**/{branch}"
906 file-paths: "{obj:gerrit_trigger_file_paths}"
909 name: "{project-name}-jjb-verify"
910 id: github-jjb-verify
912 # yamllint disable-line rule:key-duplicates
915 #####################
916 # Job Configuration #
917 #####################
920 - lf-infra-properties:
922 build-days-to-keep: 7
924 url: "{github-url}/{github-org}/{project}"
927 - lf-infra-github-scm:
928 url: "{git-clone-url}{github-org}/{project}"
929 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
931 submodule-recursive: "{submodule-recursive}"
932 submodule-timeout: "{submodule-timeout}"
933 submodule-disable: "{submodule-disable}"
934 choosing-strategy: default
935 jenkins-ssh-credential: "{jenkins-ssh-credential}"
938 - github-pull-request:
939 trigger-phrase: "^(recheck|reverify)$"
940 only-trigger-phrase: false
941 status-context: "JJB Verify"
944 included-regions: "{obj:github_included_regions}"
945 white-list-target-branches:
948 ############################
949 # JJB Verify Upstream GJJB #
950 ############################
952 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
953 name: lf-jjb-verify-upstream-gjjb
955 #####################
956 # Job Configuration #
957 #####################
964 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
965 git cherry-pick FETCH_HEAD
967 - shell: !include-raw-escape:
968 - ../shell/jjb-verify-job.sh
970 # All jobs are triggering from the same source
973 server-name: "lf-releng"
975 - patchset-created-event:
977 exclude-trivial-rebase: false
978 exclude-no-code-change: false
979 - draft-published-event
980 - comment-added-contains-event:
981 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
983 - project-compare-type: ANT
984 project-pattern: "releng/global-jjb"
986 - branch-compare-type: ANT
987 branch-pattern: "**/master"
989 gerrit-build-failed-codereview-value: -1
990 gerrit-build-failed-verified-value: 0
991 gerrit-build-successful-codereview-value: 1
992 gerrit-build-successful-verified-value: 0
995 name: "{project-name}-jjb-verify-upstream-gjjb"
996 id: gerrit-jjb-verify-upstream-gjjb
998 # yamllint disable-line rule:key-duplicates
999 <<: *lf_jjb_verify_upstream_gjjb
1001 ######################
1002 # Default parameters #
1003 ######################
1005 git-url: "$GIT_URL/$PROJECT"
1006 submodule-timeout: 10
1007 submodule-disable: false
1009 #####################
1010 # Job Configuration #
1011 #####################
1014 - lf-infra-gerrit-scm:
1015 git-url: "{git-url}"
1018 submodule-recursive: true
1019 submodule-timeout: "{submodule-timeout}"
1020 submodule-disable: "{submodule-disable}"
1021 choosing-strategy: default
1022 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1025 name: "{project-name}-jjb-verify-upstream-gjjb"
1026 id: github-jjb-verify-upstream-gjjb
1028 # yamllint disable-line rule:key-duplicates
1029 <<: *lf_jjb_verify_upstream_gjjb
1031 ######################
1032 # Default parameters #
1033 ######################
1035 git-url: "$GIT_URL/$PROJECT"
1036 submodule-timeout: 10
1037 submodule-disable: false
1039 #####################
1040 # Job Configuration #
1041 #####################
1044 - lf-infra-properties:
1045 project: "{project}"
1046 build-days-to-keep: 7
1048 url: "{github-url}/{github-org}/{project}"
1051 - lf-infra-github-scm:
1052 url: "{git-clone-url}{github-org}/{project}"
1053 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1055 submodule-recursive: "{submodule-recursive}"
1056 submodule-timeout: "{submodule-timeout}"
1057 submodule-disable: "{submodule-disable}"
1058 choosing-strategy: default
1059 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1065 - lf_license_check: &lf_license_check
1066 name: lf-license-check
1068 ######################
1069 # Default parameters #
1070 ######################
1073 build-days-to-keep: 7
1082 git-url: "$GIT_URL/$PROJECT"
1083 github-url: "https://github.com"
1085 license-exclude-paths: ""
1086 licenses-allowed: Apache-2.0,EPL-1.0,MIT
1087 project-pattern: "**"
1090 submodule-timeout: 10
1091 submodule-disable: false
1093 #####################
1094 # Job Configuration #
1095 #####################
1097 project-type: freestyle
1098 node: "{build-node}"
1100 disabled: "{disable-job}"
1103 - lf-infra-properties:
1104 build-days-to-keep: "{build-days-to-keep}"
1107 - lf-infra-parameters:
1108 project: "{project}"
1113 - lf-infra-wrappers:
1114 build-timeout: "{build-timeout}"
1115 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1119 file-patterns: "{file-patterns}"
1120 spdx-disable: "{spdx-disable}"
1121 lhc-version: "{lhc-version}"
1122 license-exclude-paths: "{license-exclude-paths}"
1123 licenses-allowed: "{licenses-allowed}"
1129 name: "{project-name}-license-check"
1130 id: gerrit-license-check
1131 <<: *lf_license_check
1133 git-url: "$GIT_URL/$GERRIT_PROJECT"
1136 - lf-infra-gerrit-scm:
1137 git-url: "{git-url}"
1138 refspec: "$GERRIT_REFSPEC"
1139 branch: "$GERRIT_BRANCH"
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: gerrit
1145 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1149 server-name: "{gerrit-server-name}"
1150 # Trigger should not be overridable as we want to always run
1152 - patchset-created-event:
1153 exclude-drafts: false
1154 exclude-trivial-rebase: false
1155 exclude-no-code-change: false
1156 - draft-published-event
1157 - comment-added-contains-event:
1158 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1160 - project-compare-type: ANT
1161 project-pattern: "{project-pattern}"
1163 - branch-compare-type: ANT
1164 branch-pattern: "**"
1167 name: "{project-name}-license-check"
1168 id: github-license-check
1169 <<: *lf_license_check
1172 - lf-infra-properties:
1173 build-days-to-keep: "{build-days-to-keep}"
1175 url: "{github-url}/{github-org}/{project}"
1178 - lf-infra-github-scm:
1179 url: "{git-clone-url}{github-org}/{project}"
1180 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1182 # Submodules are out of the project's control
1183 submodule-recursive: false
1184 submodule-timeout: "{submodule-timeout}"
1185 submodule-disable: "{submodule-disable}"
1186 choosing-strategy: default
1187 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1190 - github-pull-request:
1191 trigger-phrase: "^recheck$"
1192 only-trigger-phrase: false
1193 status-context: "License Check"
1196 white-list-target-branches:
1199 ####################
1200 # Info YAML Verify #
1201 ####################
1203 - lf_info_yaml_verify: &lf_info_yaml_verify
1204 name: lf-info-yaml-verify
1206 ######################
1207 # Default parameters #
1208 ######################
1210 gerrit_verify_triggers:
1211 - patchset-created-event:
1212 exclude-drafts: true
1213 exclude-trivial-rebase: false
1214 exclude-no-code-change: false
1215 - draft-published-event
1216 - comment-added-contains-event:
1217 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1219 #####################
1220 # Job Configuration #
1221 #####################
1226 - shell: !include-raw-escape:
1227 - ../shell/git-validate-info-yaml.sh
1228 - ../shell/info-file-validate.sh
1231 name: "{project-name}-info-yaml-verify"
1232 id: gerrit-info-yaml-verify
1234 # yamllint disable-line rule:key-duplicates
1235 <<: *lf_info_yaml_verify
1237 git-url: "$GIT_URL/$GERRIT_PROJECT"
1240 - lf-infra-gerrit-scm:
1241 git-url: "{git-url}"
1242 refspec: "$GERRIT_REFSPEC"
1243 branch: "$GERRIT_BRANCH"
1244 submodule-recursive: "{submodule-recursive}"
1245 submodule-timeout: "{submodule-timeout}"
1246 submodule-disable: "{submodule-disable}"
1247 choosing-strategy: gerrit
1248 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1252 server-name: "{gerrit-server-name}"
1253 trigger-on: "{obj:gerrit_verify_triggers}"
1255 - project-compare-type: ANT
1256 project-pattern: "{project}"
1258 - branch-compare-type: ANT
1259 branch-pattern: "**/{branch}"
1261 - compare-type: REG_EXP
1262 pattern: "INFO.yaml"
1265 name: "{project-name}-info-yaml-verify"
1266 id: github-info-yaml-verify
1268 # yamllint disable-line rule:key-duplicates
1269 <<: *lf_info_yaml_verify
1271 github-url: "https://github.com"
1274 url: "{github-url}/{github-org}/{project}"
1277 - lf-infra-github-scm:
1278 url: "{git-clone-url}{github-org}/{project}"
1279 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1281 submodule-recursive: "{submodule-recursive}"
1282 submodule-timeout: "{submodule-timeout}"
1283 submodule-disable: "{submodule-disable}"
1284 choosing-strategy: default
1285 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1288 - github-pull-request:
1289 trigger-phrase: "^(recheck|reverify)$"
1290 only-trigger-phrase: false
1291 status-context: "INFO File Verify"
1294 # included-regions MUST match gerrit file-paths
1295 included-regions: "INFO.yaml"
1296 white-list-target-branches:
1303 - lf_openstack_cron: &lf_openstack_cron
1304 name: lf-openstack-cron
1306 ######################
1307 # Default parameters #
1308 ######################
1311 build-days-to-keep: 7
1315 git-url: "$GIT_URL/$PROJECT"
1316 github-url: "https://github.com"
1317 openstack-cloud: vex
1318 openstack-image-cleanup: true
1319 openstack-image-cleanup-age: 30
1320 openstack-image-protect: true
1321 openstack-port-cleanup: true
1322 openstack-server-cleanup: true
1323 openstack-stack-cleanup: true
1324 openstack-volume-cleanup: true
1326 submodule-timeout: 10
1327 submodule-disable: false
1329 #####################
1330 # Job Configuration #
1331 #####################
1333 project-type: freestyle
1334 node: "{build-node}"
1336 disabled: "{disable-job}"
1339 - lf-infra-properties:
1340 build-days-to-keep: "{build-days-to-keep}"
1343 - lf-infra-parameters:
1344 project: "{project}"
1349 default: "{jenkins-urls}"
1351 Space separated list of Jenkins URLs to check for active builds.
1354 - lf-infra-wrappers:
1355 build-timeout: "{build-timeout}"
1356 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1357 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1358 - config-file-provider:
1360 - file-id: clouds-yaml
1361 target: "$HOME/.config/openstack/clouds.yaml"
1363 target: "$HOME/.npmrc"
1365 target: "$HOME/.config/pip/pip.conf"
1368 - timed: "{obj:cron}"
1371 - lf-infra-pre-build
1373 properties-content: OS_CLOUD={openstack-cloud}
1376 condition-kind: boolean-expression
1377 condition-expression: "{openstack-stack-cleanup}"
1379 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-stacks.sh
1382 condition-kind: boolean-expression
1383 condition-expression: "{openstack-server-cleanup}"
1385 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-servers.sh
1388 condition-kind: boolean-expression
1389 condition-expression: "{openstack-port-cleanup}"
1391 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-ports.sh
1394 condition-kind: boolean-expression
1395 condition-expression: "{openstack-volume-cleanup}"
1397 - shell: !include-raw-escape: ../shell/openstack-cleanup-orphaned-volumes.sh
1400 condition-kind: boolean-expression
1401 condition-expression: "{openstack-image-protect}"
1403 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1405 condition-kind: boolean-expression
1406 condition-expression: "{openstack-image-cleanup}"
1409 properties-content: OS_IMAGE_CLEANUP_AGE={openstack-image-cleanup-age}
1410 - shell: !include-raw-escape: ../shell/openstack-cleanup-old-images.sh
1416 name: "{project-name}-openstack-cron"
1417 id: gerrit-openstack-cron
1418 <<: *lf_openstack_cron
1421 - lf-infra-gerrit-scm:
1422 git-url: "{git-url}"
1423 refspec: "refs/heads/{branch}"
1425 submodule-recursive: true
1426 submodule-timeout: "{submodule-timeout}"
1427 submodule-disable: "{submodule-disable}"
1428 choosing-strategy: default
1429 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1432 name: "{project-name}-openstack-cron"
1433 id: github-openstack-cron
1434 <<: *lf_openstack_cron
1437 - lf-infra-github-scm:
1438 url: "{git-clone-url}{github-org}/{project}"
1440 branch: "refs/heads/{branch}"
1441 submodule-recursive: true
1442 submodule-timeout: "{submodule-timeout}"
1443 submodule-disable: "{submodule-disable}"
1444 choosing-strategy: default
1445 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1451 - lf_packer_merge: &lf_packer_merge
1452 name: lf-packer-merge
1454 ######################
1455 # Default parameters #
1456 ######################
1459 openstack-cloud: vex
1460 update-cloud-image: false
1462 #####################
1463 # Job Configuration #
1464 #####################
1467 - lf-infra-parameters:
1468 project: "{project}"
1471 - lf-packer-parameters:
1472 packer-version: "{packer-version}"
1474 name: UPDATE_CLOUD_IMAGE
1475 default: "{update-cloud-image}"
1476 description: "Update new built image on the cloud."
1479 - lf-infra-packer-build:
1480 openstack: "{openstack}"
1481 openstack-cloud: "{openstack-cloud}"
1482 packer-cloud-settings: "{packer-cloud-settings}"
1483 packer-version: "{packer-version}"
1484 platform: "{platforms}"
1485 template: "{templates}"
1486 update-cloud-image: "{update-cloud-image}"
1487 - description-setter:
1488 regexp: '(\s+.*)(ZZCI\s+.*\d+-\d+\.\d+)'
1489 description: 'Image: \2'
1491 # - project: '{project-name}-openstack-update-cloud-image'
1493 # predefined-parameters: |
1494 # GERRIT_BRANCH=$GERRIT_BRANCH
1495 # GERRIT_PROJECT=$GERRIT_PROJECT
1496 # GERRIT_REFSPEC=$GERRIT_REFSPEC
1497 # NEW_IMAGE_NAME=$NEW_IMAGE_NAME
1498 # property-file: variables.jenkins-trigger
1499 # property-file-fail-on-missing: true
1503 - trigger-parameterized-builds:
1504 - project: "{project-name}-openstack-update-cloud-image"
1505 condition: UNSTABLE_OR_BETTER
1506 predefined-parameters: |
1507 NEW_IMAGE_NAME=$NEW_IMAGE_NAME
1508 property-file: variables.jenkins-trigger
1509 fail-on-missing: true
1512 name: "{project-name}-packer-merge-{platforms}-{templates}"
1513 id: gerrit-packer-merge
1514 <<: *lf_packer_common
1515 # yamllint disable-line rule:key-duplicates
1516 <<: *lf_packer_merge
1518 ######################
1519 # Default parameters #
1520 ######################
1522 git-url: "$GIT_URL/$GERRIT_PROJECT"
1524 gerrit_merge_triggers:
1525 - change-merged-event
1526 - comment-added-contains-event:
1527 comment-contains-value: '^Patch Set\s+\d+:\s+remerge\s*$'
1529 #####################
1530 # Job Configuration #
1531 #####################
1534 - lf-infra-gerrit-scm:
1535 git-url: "{git-url}"
1536 refspec: "$GERRIT_REFSPEC"
1537 branch: "$GERRIT_BRANCH"
1538 submodule-recursive: "{submodule-recursive}"
1539 submodule-timeout: "{submodule-timeout}"
1540 submodule-disable: "{submodule-disable}"
1541 choosing-strategy: default
1542 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1545 - timed: "{obj:cron}"
1547 server-name: "{gerrit-server-name}"
1548 trigger-on: "{obj:gerrit_merge_triggers}"
1550 - project-compare-type: ANT
1551 project-pattern: "{project}"
1553 - branch-compare-type: ANT
1554 branch-pattern: "**/{branch}"
1556 - compare-type: REG_EXP
1557 pattern: 'packer\/provision\/.*\.sh'
1558 - compare-type: REG_EXP
1559 pattern: 'packer\/provision\/.*\.bat'
1560 - compare-type: REG_EXP
1561 pattern: 'packer\/provision\/.*\.ps1'
1562 - compare-type: REG_EXP
1563 pattern: 'packer\/provision\/{templates}\.yaml'
1564 - compare-type: REG_EXP
1565 pattern: 'packer\/provision\/local-{templates}\.yaml'
1566 - compare-type: REG_EXP
1567 pattern: 'packer\/templates\/{templates}\.json'
1568 - compare-type: REG_EXP
1569 pattern: 'packer\/vars\/{platforms}\.json'
1572 name: "{project-name}-packer-merge-{platforms}-{templates}"
1573 id: github-packer-merge
1574 <<: *lf_packer_common
1575 # yamllint disable-line rule:key-duplicates
1576 <<: *lf_packer_merge
1578 #####################
1579 # Job Configuration #
1580 #####################
1583 - lf-infra-properties:
1584 project: "{project}"
1585 build-days-to-keep: 7
1587 url: "{github-url}/{github-org}/{project}"
1590 - lf-infra-github-scm:
1591 url: "{git-clone-url}{github-org}/{project}"
1593 +refs/heads/*:refs/remotes/origin/*
1594 +refs/pull/*:refs/remotes/origin/pr/*
1595 branch: "$GERRIT_REFSPEC"
1596 submodule-recursive: "{submodule-recursive}"
1597 submodule-timeout: "{submodule-timeout}"
1598 submodule-disable: "{submodule-disable}"
1599 choosing-strategy: default
1600 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1603 - timed: "{obj:cron}"
1608 - github-pull-request:
1609 trigger-phrase: "^remerge$"
1610 only-trigger-phrase: true
1611 status-context: "Packer {platforms}-{templates} Merge"
1616 white-list: "{obj:github_pr_whitelist}"
1617 admin-list: "{obj:github_pr_admin_list}"
1618 # included-regions MUST match Gerrit Trigger file-paths
1620 - 'packer\/provision\/.*\.sh'
1621 - 'packer\/provision\/.*\.bat'
1622 - 'packer\/provision\/.*\.ps1'
1623 - 'packer\/provision\/{templates}\.yaml'
1624 - 'packer\/provision\/local-{templates}\.yaml'
1625 - 'packer\/templates\/{templates}\.json'
1626 - 'packer\/vars\/{platforms}\.json'
1627 white-list-target-branches:
1631 name: "{project-name}-packer-verify-build-{platforms}-{templates}"
1632 id: gerrit-packer-verify-build
1633 <<: *lf_packer_common
1634 # yamllint disable-line rule:key-duplicates
1635 <<: *lf_packer_merge
1637 ######################
1638 # Default parameters #
1639 ######################
1641 git-url: "$GIT_URL/$GERRIT_PROJECT"
1643 gerrit_verify_triggers:
1644 - comment-added-contains-event:
1645 comment-contains-value: '^Patch Set\s+\d+:\s+(verify-build|packer-build)\s*$'
1647 #####################
1648 # Job Configuration #
1649 #####################
1652 - lf-infra-gerrit-scm:
1653 git-url: "{git-url}"
1654 refspec: "$GERRIT_REFSPEC"
1655 branch: "$GERRIT_BRANCH"
1656 submodule-recursive: "{submodule-recursive}"
1657 submodule-timeout: "{submodule-timeout}"
1658 submodule-disable: "{submodule-disable}"
1659 choosing-strategy: gerrit
1660 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1664 server-name: "{gerrit-server-name}"
1665 trigger-on: "{obj:gerrit_verify_triggers}"
1667 - project-compare-type: ANT
1668 project-pattern: "{project}"
1670 - branch-compare-type: ANT
1671 branch-pattern: "**/{branch}"
1673 - compare-type: REG_EXP
1674 pattern: 'packer\/provision\/.*\.sh'
1675 - compare-type: REG_EXP
1676 pattern: 'packer\/provision\/.*\.bat'
1677 - compare-type: REG_EXP
1678 pattern: 'packer\/provision\/.*\.ps1'
1679 - compare-type: REG_EXP
1680 pattern: 'packer\/provision\/{templates}\.yaml'
1681 - compare-type: REG_EXP
1682 pattern: 'packer\/provision\/local-{templates}\.yaml'
1683 - compare-type: REG_EXP
1684 pattern: 'packer\/templates\/{templates}\.json'
1685 - compare-type: REG_EXP
1686 pattern: 'packer\/vars\/{platforms}\.json'
1689 name: "{project-name}-packer-verify-build-{platforms}-{templates}"
1690 id: github-packer-verify-build
1691 <<: *lf_packer_common
1692 # yamllint disable-line rule:key-duplicates
1693 <<: *lf_packer_merge
1695 #####################
1696 # Job Configuration #
1697 #####################
1700 - lf-infra-properties:
1701 project: "{project}"
1702 build-days-to-keep: 7
1704 url: "{github-url}/{github-org}/{project}"
1707 - lf-infra-github-scm:
1708 url: "{git-clone-url}{github-org}/{project}"
1709 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1711 submodule-recursive: "{submodule-recursive}"
1712 submodule-timeout: "{submodule-timeout}"
1713 submodule-disable: "{submodule-disable}"
1714 choosing-strategy: default
1715 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1718 - github-pull-request:
1719 trigger-phrase: "^(verify-build|packer-build)$"
1720 only-trigger-phrase: true
1721 status-context: "Packer {platforms}-{templates} Verify Build"
1724 white-list-target-branches:
1726 # included-regions MUST match Gerrit Trigger file-paths
1728 - 'packer\/provision\/.*\.sh'
1729 - 'packer\/provision\/.*\.bat'
1730 - 'packer\/provision\/.*\.ps1'
1731 - 'packer\/provision\/{templates}\.yaml'
1732 - 'packer\/provision\/local-{templates}\.yaml'
1733 - 'packer\/templates\/{templates}\.json'
1734 - 'packer\/vars\/{platforms}\.json'
1740 - lf_packer_verify: &lf_packer_verify
1741 name: lf-packer-verify
1743 ######################
1744 # Default parameters #
1745 ######################
1749 openstack-cloud: vex
1751 gerrit_verify_triggers:
1752 - patchset-created-event:
1753 exclude-drafts: true
1754 exclude-trivial-rebase: false
1755 exclude-no-code-change: false
1756 - draft-published-event
1757 - comment-added-contains-event:
1758 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
1760 gerrit_trigger_file_paths:
1761 - compare-type: REG_EXP
1762 pattern: 'packer\/.*'
1764 # github_included_regions MUST match gerrit_trigger_file_paths
1765 github_included_regions:
1768 #####################
1769 # Job Configuration #
1770 #####################
1775 - lf-infra-packer-validate:
1776 openstack: "{openstack}"
1777 openstack-cloud: "{openstack-cloud}"
1778 packer-cloud-settings: "{packer-cloud-settings}"
1779 packer-version: "{packer-version}"
1782 name: "{project-name}-packer-verify"
1783 id: gerrit-packer-verify
1784 <<: *lf_packer_common
1785 # yamllint disable-line rule:key-duplicates
1786 <<: *lf_packer_verify
1788 ######################
1789 # Default parameters #
1790 ######################
1792 git-url: "$GIT_URL/$GERRIT_PROJECT"
1794 #####################
1795 # Job Configuration #
1796 #####################
1799 - lf-infra-gerrit-scm:
1800 git-url: "{git-url}"
1801 refspec: "$GERRIT_REFSPEC"
1802 branch: "$GERRIT_BRANCH"
1803 submodule-recursive: "{submodule-recursive}"
1804 submodule-timeout: "{submodule-timeout}"
1805 submodule-disable: "{submodule-disable}"
1806 choosing-strategy: gerrit
1807 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1811 server-name: "{gerrit-server-name}"
1812 trigger-on: "{obj:gerrit_verify_triggers}"
1814 - project-compare-type: ANT
1815 project-pattern: "{project}"
1817 - branch-compare-type: ANT
1818 branch-pattern: "**/{branch}"
1819 file-paths: "{obj:gerrit_trigger_file_paths}"
1822 name: "{project-name}-packer-verify"
1823 id: github-packer-verify
1824 <<: *lf_packer_common
1825 # yamllint disable-line rule:key-duplicates
1826 <<: *lf_packer_verify
1828 #####################
1829 # Job Configuration #
1830 #####################
1833 - lf-infra-properties:
1834 project: "{project}"
1835 build-days-to-keep: 7
1837 url: "{github-url}/{github-org}/{project}"
1840 - lf-infra-github-scm:
1841 url: "{git-clone-url}{github-org}/{project}"
1842 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
1844 submodule-recursive: "{submodule-recursive}"
1845 submodule-timeout: "{submodule-timeout}"
1846 submodule-disable: "{submodule-disable}"
1847 choosing-strategy: default
1848 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1851 - github-pull-request:
1852 trigger-phrase: "^(recheck|reverify)$"
1853 only-trigger-phrase: false
1854 status-context: "Packer Verify"
1857 included-regions: "{obj:github_included_regions}"
1858 white-list-target-branches:
1861 ################################
1862 # Openstack Update Cloud Image #
1863 ################################
1865 - lf_openstack_cron: &lf_openstack_update_cloud_image
1866 name: lf-openstack-update-cloud-image
1868 ######################
1869 # Default parameters #
1870 ######################
1873 build-days-to-keep: 7
1877 git-url: "$GIT_URL/$PROJECT"
1878 github-url: "https://github.com"
1879 new-image-name: "all"
1880 openstack-cloud: vex
1882 submodule-timeout: 10
1883 submodule-disable: false
1884 update-cloud-image: false
1886 #####################
1887 # Job Configuration #
1888 #####################
1890 project-type: freestyle
1891 node: "{build-node}"
1893 disabled: "{disable-job}"
1896 - lf-infra-properties:
1897 build-days-to-keep: "{build-days-to-keep}"
1900 - lf-infra-parameters:
1901 project: "{project}"
1905 name: NEW_IMAGE_NAME
1906 default: "{new-image-name}"
1907 description: "Name of cloud image to update in Jenkins"
1910 - lf-infra-wrappers:
1911 build-timeout: "{build-timeout}"
1912 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1913 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1914 - config-file-provider:
1916 - file-id: clouds-yaml
1917 target: "$HOME/.config/openstack/clouds.yaml"
1919 target: "$HOME/.npmrc"
1921 target: "$HOME/.config/pip/pip.conf"
1924 - lf-infra-pre-build
1926 properties-content: |
1927 OS_CLOUD={openstack-cloud}
1930 echo "Extract the image type for commit message"
1931 # echo IMAGE_TYPE=${{NEW_IMAGE_NAME% -*}} >> image-type.txt
1932 IMAGE_TYPE=$(echo ${{NEW_IMAGE_NAME}} | tr -d "\'\"\ " | awk -F- '{{ print $2 " " $3 " " $4 }}')
1933 echo IMAGE_TYPE=${{IMAGE_TYPE}} >> image-type.txt
1936 properties-file: "image-type.txt"
1937 - lf-infra-update-packer-images
1938 - lf-infra-push-gerrit-patch:
1939 project: "{project}"
1940 gerrit-user: "{gerrit-user}"
1941 gerrit-host: "{gerrit-host}"
1942 gerrit-topic: "{gerrit-topic}"
1943 gerrit-commit-message: "Update cloud image $IMAGE_TYPE"
1944 reviewers-email: "{reviewers-email}"
1950 name: "{project-name}-openstack-update-cloud-image"
1951 id: gerrit-openstack-update-cloud-image
1952 <<: *lf_openstack_update_cloud_image
1954 ######################
1955 # Default parameters #
1956 ######################
1958 git-url: "$GIT_URL/$GERRIT_PROJECT"
1960 #####################
1961 # Job Configuration #
1962 #####################
1965 - lf-infra-gerrit-scm:
1966 git-url: "{git-url}"
1967 refspec: "$GERRIT_REFSPEC"
1968 branch: "$GERRIT_BRANCH"
1969 submodule-recursive: false
1970 submodule-timeout: "{submodule-timeout}"
1971 submodule-disable: "{submodule-disable}"
1972 choosing-strategy: gerrit
1973 jenkins-ssh-credential: "{jenkins-ssh-credential}"
1976 - timed: "{obj:cron}"
1982 - lf_puppet_verify: &lf_puppet_verify
1983 name: lf-puppet-verify
1985 ######################
1986 # Default parameters #
1987 ######################
1990 build-days-to-keep: 7
1993 git-url: "$GIT_URL/$GERRIT_PROJECT"
1994 github-url: "https://github.com"
1997 puppet-lint-version: 2.3.6
1999 submodule-recursive: true
2000 submodule-timeout: 10
2001 submodule-disable: false
2003 gerrit_trigger_file_paths:
2004 - compare-type: REG_EXP
2007 # github_included_regions MUST match gerrit_trigger_file_paths
2008 github_included_regions:
2011 #####################
2012 # Job Configuration #
2013 #####################
2015 project-type: freestyle
2016 node: "{build-node}"
2018 disabled: "{disable-job}"
2021 - lf-infra-properties:
2022 build-days-to-keep: "{build-days-to-keep}"
2025 - lf-infra-parameters:
2026 project: "{project}"
2029 - lf-puppet-parameters:
2030 puppet-lint-version: "{puppet-lint-version}"
2033 - lf-infra-wrappers:
2034 build-timeout: "{build-timeout}"
2035 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2038 - shell: !include-raw-escape: ../shell/puppet-lint.sh
2044 name: "{project-name}-puppet-verify"
2045 id: gerrit-puppet-verify
2046 <<: *lf_puppet_verify
2048 ######################
2049 # Default parameters #
2050 ######################
2052 gerrit_verify_triggers:
2053 - patchset-created-event:
2054 exclude-drafts: true
2055 exclude-trivial-rebase: false
2056 exclude-no-code-change: false
2057 - draft-published-event
2058 - comment-added-contains-event:
2059 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
2061 #####################
2062 # Job Configuration #
2063 #####################
2066 - lf-infra-gerrit-scm:
2067 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2068 git-url: "{git-url}"
2069 refspec: "$GERRIT_REFSPEC"
2070 branch: "$GERRIT_BRANCH"
2071 submodule-recursive: "{submodule-recursive}"
2072 submodule-timeout: "{submodule-timeout}"
2073 submodule-disable: "{submodule-disable}"
2074 choosing-strategy: gerrit
2078 server-name: "{gerrit-server-name}"
2079 trigger-on: "{obj:gerrit_verify_triggers}"
2081 - project-compare-type: ANT
2082 project-pattern: "{project}"
2084 - branch-compare-type: ANT
2085 branch-pattern: "**/{branch}"
2086 file-paths: "{obj:gerrit_trigger_file_paths}"
2089 name: "{project-name}-puppet-verify"
2090 id: github-puppet-verify
2091 <<: *lf_puppet_verify
2093 #####################
2094 # Job Configuration #
2095 #####################
2098 - lf-infra-properties:
2099 project: "{project}"
2100 build-days-to-keep: 7
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: "^(recheck|reverify)$"
2118 only-trigger-phrase: false
2119 status-context: "Puppet Verify"
2122 included-regions: "{obj:github_included_regions}"
2123 white-list-target-branches:
2130 - lf_sonar_common: &lf_sonar_common
2131 name: lf-sonar-common
2133 ######################
2134 # Default parameters #
2135 ######################
2137 archive-artifacts: >
2140 branch: master # Sonar should always be run on master branch
2141 build-days-to-keep: 7
2143 cron: "H H * * *" # run daily
2145 git-url: "$GIT_URL/$PROJECT"
2146 github-url: "https://github.com"
2148 submodule-recursive: true
2149 submodule-timeout: 10
2150 submodule-disable: false
2154 sonar-project-file: "sonar-project.properties"
2155 sonar-properties: ""
2157 sonar-additional-args: ""
2159 gerrit_trigger_file_paths:
2160 - compare-type: REG_EXP
2163 # github_included_regions MUST match gerrit_trigger_file_paths
2164 github_included_regions:
2167 #####################
2168 # Job Configuration #
2169 #####################
2171 project-type: freestyle
2172 node: "{build-node}"
2175 - lf-infra-properties:
2176 build-days-to-keep: "{build-days-to-keep}"
2179 - lf-infra-wrappers:
2180 build-timeout: "{build-timeout}"
2181 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2183 disabled: "{disable-job}"
2186 - lf-infra-parameters:
2187 project: "{project}"
2191 name: ARCHIVE_ARTIFACTS
2192 default: "{archive-artifacts}"
2193 description: Artifacts to archive to the logs server.
2198 - lf_sonar_builders: &lf_sonar_builders
2199 name: lf-sonar-builders
2201 - lf-infra-pre-build
2203 sonar-task: "{sonar-task}"
2204 sonar-project-file: "{sonar-project-file}"
2205 sonar-properties: "{sonar-properties}"
2206 sonar-java-opts: "{sonar-java-opts}"
2207 sonar-additional-args: "{sonar-additional-args}"
2209 - lf_sonar_builders_prescan: &lf_sonar_builders_prescan
2210 name: lf-sonar-builders-prescan
2212 - lf-infra-pre-build
2213 - lf-infra-sonar-with-prescan:
2214 sonar-task: "{sonar-task}"
2215 sonar-project-file: "{sonar-project-file}"
2216 sonar-properties: "{sonar-properties}"
2217 sonar-java-opts: "{sonar-java-opts}"
2218 sonar-additional-args: "{sonar-additional-args}"
2220 - lf_sonar_builders_prescan_script: &lf_sonar_builders_prescan_script
2221 name: lf-sonar-builders-prescan-script
2223 - lf-infra-pre-build
2224 - shell: "{sonar-prescan-script}"
2226 sonar-task: "{sonar-task}"
2227 sonar-project-file: "{sonar-project-file}"
2228 sonar-properties: "{sonar-properties}"
2229 sonar-java-opts: "{sonar-java-opts}"
2230 sonar-additional-args: "{sonar-additional-args}"
2232 - lf_sonar_gerrit_common: &lf_sonar_gerrit_common
2233 name: lf-sonar-gerrit-common
2234 gerrit_sonar_triggers:
2235 - comment-added-contains-event:
2236 comment-contains-value: '^Patch Set\s+\d+:\s+run-sonar\s*$'
2239 - lf-infra-gerrit-scm:
2240 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2241 git-url: "{git-url}"
2242 refspec: $GERRIT_REFSPEC
2243 branch: $GERRIT_BRANCH
2244 submodule-recursive: "{submodule-recursive}"
2245 submodule-timeout: "{submodule-timeout}"
2246 submodule-disable: "{submodule-disable}"
2247 choosing-strategy: default
2250 - timed: "{obj:cron}"
2252 server-name: "{gerrit-server-name}"
2253 trigger-on: "{obj:gerrit_sonar_triggers}"
2255 - project-compare-type: "ANT"
2256 project-pattern: "{project}"
2258 - branch-compare-type: "ANT"
2259 branch-pattern: "**/{branch}"
2260 file-paths: "{obj:gerrit_trigger_file_paths}"
2267 - lf_sonar_github_common: &lf_sonar_github_common
2268 name: lf-sonar-github-common
2270 - lf-infra-properties:
2271 build-days-to-keep: "{build-days-to-keep}"
2273 url: "{github-url}/{github-org}/{project}"
2276 - lf-infra-github-scm:
2277 url: "{git-clone-url}{github-org}/{project}"
2278 refspec: "+refs/pull/*:refs/remotes/origin/pr/*"
2280 submodule-recursive: "{submodule-recursive}"
2281 submodule-timeout: "{submodule-timeout}"
2282 submodule-disable: "{submodule-disable}"
2283 choosing-strategy: default
2284 jenkins-ssh-credential: "{jenkins-ssh-credential}"
2287 - github-pull-request:
2288 trigger-phrase: "^run-sonar$"
2289 only-trigger-phrase: false
2290 status-context: "Python Sonar"
2293 white-list-target-branches:
2295 included-regions: "{obj:github_included_regions}"
2298 name: "{project-name}-sonar"
2300 <<: *lf_sonar_common
2301 # yamllint disable-line rule:key-duplicates
2302 <<: *lf_sonar_builders
2303 # yamllint disable-line rule:key-duplicates
2304 <<: *lf_sonar_gerrit_common
2307 name: "{project-name}-sonar"
2309 <<: *lf_sonar_common
2310 # yamllint disable-line rule:key-duplicates
2311 <<: *lf_sonar_builders
2312 # yamllint disable-line rule:key-duplicates
2313 <<: *lf_sonar_github_common
2316 name: "{project-name}-sonar-prescan"
2317 id: gerrit-sonar-prescan
2318 <<: *lf_sonar_common
2319 # yamllint disable-line rule:key-duplicates
2320 <<: *lf_sonar_builders_prescan
2321 # yamllint disable-line rule:key-duplicates
2322 <<: *lf_sonar_gerrit_common
2325 name: "{project-name}-sonar-prescan"
2326 id: github-sonar-prescan
2327 <<: *lf_sonar_common
2328 # yamllint disable-line rule:key-duplicates
2329 <<: *lf_sonar_builders_prescan
2330 # yamllint disable-line rule:key-duplicates
2331 <<: *lf_sonar_github_common
2334 name: "{project-name}-sonar-prescan-script"
2335 id: gerrit-sonar-prescan-script
2336 <<: *lf_sonar_common
2337 # yamllint disable-line rule:key-duplicates
2338 <<: *lf_sonar_builders_prescan_script
2339 # yamllint disable-line rule:key-duplicates
2340 <<: *lf_sonar_gerrit_common
2343 name: "{project-name}-sonar-prescan-script"
2344 id: github-sonar-prescan-script
2345 <<: *lf_sonar_common
2346 # yamllint disable-line rule:key-duplicates
2347 <<: *lf_sonar_builders_prescan_script
2348 # yamllint disable-line rule:key-duplicates
2349 <<: *lf_sonar_github_common
2355 - lf_pipelines_common: &lf_pipelines_common
2356 name: lf-pipelines-common
2358 ######################
2359 # Default parameters #
2360 ######################
2366 submodule-recursive: true
2367 submodule-timeout: 10
2368 submodule-disable: false
2370 - lf_global_pipelines_common: &lf_global_pipelines_common
2371 name: lf-global-pipelines-common
2373 # All jobs are triggering from the same source
2374 git-url: https://gerrit.linuxfoundation.org/infra/releng/pipelines
2377 server-name: "lf-releng"
2379 - patchset-created-event:
2380 exclude-drafts: true
2381 exclude-trivial-rebase: false
2382 exclude-no-code-change: false
2383 - draft-published-event
2384 - comment-added-contains-event:
2385 comment-contains-value: '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
2387 - project-compare-type: ANT
2388 project-pattern: "releng/pipelines"
2390 - branch-compare-type: ANT
2391 branch-pattern: "**/master"
2394 name: "lf-pipelines-verify"
2395 id: lf-pipelines-verify
2396 <<: *lf_pipelines_common
2397 <<: *lf_global_pipelines_common
2399 project-type: pipeline
2402 - lf-infra-gerrit-scm:
2403 git-url: "{git-url}"
2404 refspec: "$GERRIT_REFSPEC"
2405 branch: "$GERRIT_BRANCH"
2406 submodule-recursive: "{submodule-recursive}"
2407 submodule-timeout: "{submodule-timeout}"
2408 submodule-disable: "{submodule-disable}"
2409 choosing-strategy: gerrit
2410 jenkins-ssh-credential: "{jenkins-ssh-credential}"