10 - config-file-provider:
13 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
16 name: lf-infra-jjbini-sandbox
17 # TODO: Consolidate this into jjbini when JJB2.0 is available.
19 - config-file-provider:
21 - file-id: jjbini-sandbox
22 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
24 - lf_packer: &lf_packer_common
25 name: lf-packer-common
26 # Provide configuration common in packer jobs.
28 ######################
29 # Default parameters #
30 ######################
36 github-url: 'https://github.com'
38 submodule-recursive: true
39 packer-cloud-settings: packer-cloud-env
46 project-type: freestyle
48 disabled: '{disable-job}'
51 - lf-infra-properties:
56 - lf-infra-parameters:
60 lftools-version: '{lftools-version}'
61 - lf-packer-parameters:
62 packer-version: '{packer-version}'
66 build-timeout: '{build-timeout}'
67 jenkins-ssh-credential: '{jenkins-ssh-credential}'
73 name: lf-infra-jjb-parameters
77 default: '{jjb-version}'
78 description: Jenkins Job Builder version to download and install.
81 name: lf-packer-parameters
85 default: '{packer-version}'
86 description: Packer version to download and install.
88 - lf_jjb_common: &lf_jjb_common
91 ######################
92 # Default parameters #
93 ######################
98 github-url: 'https://github.com'
101 submodule-recursive: true
103 gerrit_trigger_file_paths:
104 - compare-type: REG_EXP
105 pattern: '.*\.groovy'
106 - compare-type: REG_EXP
108 - compare-type: REG_EXP
110 - compare-type: REG_EXP
112 - compare-type: REG_EXP
113 pattern: '.*\.(yaml|yml)'
114 - compare-type: REG_EXP
115 pattern: '.*\/global-jjb'
117 # github_included_regions MUST match gerrit_trigger_file_paths
118 github_included_regions:
126 #####################
127 # Job Configuration #
128 #####################
130 project-type: freestyle
132 disabled: '{disable-job}'
135 - lf-infra-properties:
137 build-days-to-keep: 7
140 - lf-infra-parameters:
144 lftools-version: '{lftools-version}'
145 - lf-infra-jjb-parameters:
146 jjb-version: '{jjb-version}'
150 build-timeout: '{build-timeout}'
151 jenkins-ssh-credential: '{jenkins-ssh-credential}'
156 ######################
157 # Gerrit Branch Lock #
158 ######################
161 name: '{project-name}-gerrit-branch-lock-{stream}'
162 id: gerrit-branch-lock
164 ######################
165 # Default parameters #
166 ######################
170 git-url: '$GIT_URL/$GERRIT_PROJECT'
172 gerrit_merge_triggers:
173 - comment-added-contains-event:
174 comment-contains-value: (un)?lock branch$
176 #####################
177 # Job Configuration #
178 #####################
180 project-type: freestyle
182 disabled: '{disable-job}'
185 - lf-infra-properties:
187 build-days-to-keep: 1
190 - lf-infra-parameters:
194 lftools-version: '{lftools-version}'
199 jenkins-ssh-credential: '{jenkins-ssh-credential}'
202 - lf-infra-gerrit-scm:
206 submodule-recursive: false
207 choosing-strategy: default
208 jenkins-ssh-credential: '{jenkins-ssh-credential}'
212 server-name: '{gerrit-server-name}'
213 trigger-on: '{obj:gerrit_merge_triggers}'
215 - project-compare-type: ANT
216 project-pattern: '{project}'
218 - branch-compare-type: ANT
219 branch-pattern: '**/{branch}'
222 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
228 ##########################################
229 # Jenkins Configuration Management Merge #
230 ##########################################
233 name: lf-jenkins-cfg-clouds
237 properties-content: 'jenkins_silos={jenkins-silos}'
238 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
239 - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
242 name: lf-jenkins-cfg-global-vars
246 properties-content: 'jenkins_silos={jenkins-silos}'
247 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
248 - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
250 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
251 name: lf-jenkins-cfg-merge
253 ######################
254 # Default parameters #
255 ######################
260 git-url: '$GIT_URL/$GERRIT_PROJECT'
261 github-url: 'https://github.com'
262 jenkins-silos: production sandbox
264 gerrit_merge_triggers:
265 - change-merged-event
266 - comment-added-contains-event:
267 comment-contains-value: remerge$
269 gerrit_trigger_file_paths:
270 - compare-type: REG_EXP
271 pattern: 'jenkins-config\/.*'
273 # github_included_regions MUST match gerrit_trigger_file_paths
274 github_included_regions:
275 - 'jenkins-config\/.*'
277 #####################
278 # Job Configuration #
279 #####################
281 project-type: freestyle
284 disabled: '{disable-job}'
287 - lf-infra-properties:
289 build-days-to-keep: 1
292 - lf-infra-parameters:
296 lftools-version: '{lftools-version}'
301 jenkins-ssh-credential: '{jenkins-ssh-credential}'
304 - shell: !include-raw-escape:
305 - ../shell/lftools-install.sh
306 - lf-jenkins-cfg-global-vars:
307 jenkins-silos: '{jenkins-silos}'
308 - lf-jenkins-cfg-clouds:
309 jenkins-silos: '{jenkins-silos}'
315 name: '{project-name}-jenkins-cfg-merge'
316 id: gerrit-jenkins-cfg-merge
317 <<: *lf_jenkins_cfg_merge
320 - lf-infra-gerrit-scm:
322 refspec: 'refs/heads/{branch}'
324 submodule-recursive: true
325 choosing-strategy: default
326 jenkins-ssh-credential: '{jenkins-ssh-credential}'
329 - timed: '{obj:cron}'
331 server-name: '{gerrit-server-name}'
332 trigger-on: '{obj:gerrit_merge_triggers}'
334 - project-compare-type: ANT
335 project-pattern: '{project}'
337 - branch-compare-type: ANT
338 branch-pattern: '**/{branch}'
339 file-paths: '{obj:gerrit_trigger_file_paths}'
342 name: '{project-name}-jenkins-cfg-merge'
343 id: github-jenkins-cfg-merge
344 <<: *lf_jenkins_cfg_merge
347 - lf-infra-properties:
349 build-days-to-keep: 1
351 url: '{github-url}/{github-org}/{project}'
354 - lf-infra-github-scm:
355 url: '{git-clone-url}{github-org}/{project}'
357 branch: 'refs/heads/{branch}'
358 submodule-recursive: true
359 choosing-strategy: default
360 jenkins-ssh-credential: '{jenkins-ssh-credential}'
363 - timed: '{obj:cron}'
367 - github-pull-request:
368 trigger-phrase: '^remerge$'
369 only-trigger-phrase: true
370 status-context: 'Jenkins CFG Merge'
375 white-list: '{obj:github_pr_whitelist}'
376 admin-list: '{obj:github_pr_admin_list}'
377 included-regions: '{obj:github_included_regions}'
378 white-list-target-branches:
382 ###########################
383 # JENKINS SANDBOX CLEANUP #
384 ###########################
386 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
387 name: lf-jenkins-sandbox-cleanup
389 ######################
390 # Default parameters #
391 ######################
394 # Run every Saturday at 08:00 UTC
398 #####################
399 # Job Configuration #
400 #####################
402 project-type: freestyle
405 disabled: '{disable-job}'
408 - lf-infra-jjb-parameters:
409 jjb-version: '{jjb-version}'
412 - timed: '{obj:cron}'
416 - shell: !include-raw-escape:
417 - ../shell/jjb-install.sh
418 - ../shell/jenkins-sandbox-cleanup.sh
419 - ../shell/jjb-cleanup.sh
422 name: '{project-name}-jenkins-sandbox-cleanup'
423 id: gerrit-jenkins-sandbox-cleanup
425 # yamllint disable-line rule:key-duplicates
426 <<: *lf_jenkins_sandbox_cleanup
429 name: '{project-name}-jenkins-sandbox-cleanup'
430 id: github-jenkins-sandbox-cleanup
432 # yamllint disable-line rule:key-duplicates
433 <<: *lf_jenkins_sandbox_cleanup
440 - lf_jjb_deploy_job: &lf_jjb_deploy_job
441 name: lf-jjb-deploy-job
443 ######################
444 # Default parameters #
445 ######################
449 # jjb-deploy should always clone $PROJECT regardless of what
450 # $GERRIT_PROJECT triggered the job.
451 git-url: '$GIT_URL/$PROJECT'
452 github-url: 'https://github.com'
454 gerrit_jjb_deploy_job_triggers:
455 - comment-added-contains-event:
456 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
458 #####################
459 # Job Configuration #
460 #####################
462 project-type: freestyle
465 disabled: '{disable-job}'
468 - lf-infra-properties:
470 build-days-to-keep: 1
473 - lf-infra-parameters:
477 lftools-version: '{lftools-version}'
482 jenkins-ssh-credential: '{jenkins-ssh-credential}'
486 pip-packages: jenkins-job-builder
487 - lf-infra-jjbini-sandbox
488 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
494 name: '{project-name}-jjb-deploy-job'
495 id: gerrit-jjb-deploy-job
496 <<: *lf_jjb_deploy_job
499 - lf-infra-gerrit-scm:
501 refspec: 'refs/heads/{branch}'
503 submodule-recursive: true
504 choosing-strategy: default
505 jenkins-ssh-credential: '{jenkins-ssh-credential}'
509 server-name: '{gerrit-server-name}'
510 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
512 - project-compare-type: ANT
513 project-pattern: '**'
515 - branch-compare-type: ANT
524 name: '{project-name}-jjb-deploy-job'
525 id: github-jjb-deploy-job
526 <<: *lf_jjb_deploy_job
529 - lf-infra-properties:
531 build-days-to-keep: 1
533 url: '{github-url}/{github-org}/{project}'
536 - lf-infra-github-scm:
537 url: '{git-clone-url}{github-org}/{project}'
538 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
540 submodule-recursive: true
541 choosing-strategy: default
542 jenkins-ssh-credential: '{jenkins-ssh-credential}'
545 - github-pull-request:
546 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
547 only-trigger-phrase: true
548 status-context: 'JJB Deploy Job'
551 white-list-target-branches:
558 - lf_jjb_merge: &lf_jjb_merge
561 ######################
562 # Default parameters #
563 ######################
565 gerrit_merge_triggers:
566 - change-merged-event
567 - comment-added-contains-event:
568 comment-contains-value: remerge$
570 #####################
571 # Job Configuration #
572 #####################
576 - shell: !include-raw-escape:
577 - ../shell/jjb-install.sh
578 - ../shell/jjb-merge-job.sh
579 - ../shell/jjb-cleanup.sh
582 name: '{project-name}-jjb-merge'
585 # yamllint disable-line rule:key-duplicates
588 git-url: '$GIT_URL/$GERRIT_PROJECT'
591 - lf-infra-gerrit-scm:
595 submodule-recursive: '{submodule-recursive}'
596 choosing-strategy: default
597 jenkins-ssh-credential: '{jenkins-ssh-credential}'
601 server-name: '{gerrit-server-name}'
602 trigger-on: '{obj:gerrit_merge_triggers}'
604 - project-compare-type: ANT
605 project-pattern: '{project}'
607 - branch-compare-type: ANT
608 branch-pattern: '**/{branch}'
609 file-paths: '{obj:gerrit_trigger_file_paths}'
612 name: '{project-name}-jjb-merge'
615 # yamllint disable-line rule:key-duplicates
618 #####################
619 # Job Configuration #
620 #####################
623 - lf-infra-properties:
625 build-days-to-keep: 7
627 url: '{github-url}/{github-org}/{project}'
630 - lf-infra-github-scm:
631 url: '{git-clone-url}{github-org}/{project}'
633 branch: 'refs/heads/{branch}'
634 submodule-recursive: '{submodule-recursive}'
635 choosing-strategy: default
636 jenkins-ssh-credential: '{jenkins-ssh-credential}'
642 - github-pull-request:
643 trigger-phrase: '^remerge$'
644 only-trigger-phrase: true
645 status-context: 'JJB Merge'
650 white-list: '{obj:github_pr_whitelist}'
651 admin-list: '{obj:github_pr_admin_list}'
652 included-regions: '{obj:github_included_regions}'
653 white-list-target-branches:
660 - lf_jjb_verify: &lf_jjb_verify
663 ######################
664 # Default parameters #
665 ######################
667 gerrit_verify_triggers:
668 - patchset-created-event:
670 exclude-trivial-rebase: false
671 exclude-no-code-change: false
672 - draft-published-event
673 - comment-added-contains-event:
674 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
676 #####################
677 # Job Configuration #
678 #####################
684 - shell: !include-raw-escape:
685 - ../shell/git-validate-jira-urls.sh
686 - ../shell/jjb-install.sh
687 - ../shell/jjb-verify-job.sh
688 - ../shell/jjb-check-unicode.sh
689 - ../shell/jjb-cleanup.sh
690 - lf-infra-gpg-verify-git-signature
693 name: '{project-name}-jjb-verify'
694 id: gerrit-jjb-verify
696 # yamllint disable-line rule:key-duplicates
699 ######################
700 # Default parameters #
701 ######################
703 git-url: '$GIT_URL/$GERRIT_PROJECT'
705 #####################
706 # Job Configuration #
707 #####################
710 - lf-infra-gerrit-scm:
712 refspec: '$GERRIT_REFSPEC'
713 branch: '$GERRIT_BRANCH'
714 submodule-recursive: '{submodule-recursive}'
715 choosing-strategy: gerrit
716 jenkins-ssh-credential: '{jenkins-ssh-credential}'
720 server-name: '{gerrit-server-name}'
721 trigger-on: '{obj:gerrit_verify_triggers}'
723 - project-compare-type: ANT
724 project-pattern: '{project}'
726 - branch-compare-type: ANT
727 branch-pattern: '**/{branch}'
728 file-paths: '{obj:gerrit_trigger_file_paths}'
731 name: '{project-name}-jjb-verify'
732 id: github-jjb-verify
734 # yamllint disable-line rule:key-duplicates
737 #####################
738 # Job Configuration #
739 #####################
742 - lf-infra-properties:
744 build-days-to-keep: 7
746 url: '{github-url}/{github-org}/{project}'
749 - lf-infra-github-scm:
750 url: '{git-clone-url}{github-org}/{project}'
751 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
753 submodule-recursive: '{submodule-recursive}'
754 choosing-strategy: default
755 jenkins-ssh-credential: '{jenkins-ssh-credential}'
758 - github-pull-request:
759 trigger-phrase: '^(recheck|reverify)$'
760 only-trigger-phrase: false
761 status-context: 'JJB Verify'
764 included-regions: '{obj:github_included_regions}'
765 white-list-target-branches:
768 ############################
769 # JJB Verify Upstream GJJB #
770 ############################
772 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
773 name: lf-jjb-verify-upstream-gjjb
775 #####################
776 # Job Configuration #
777 #####################
784 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
785 git cherry-pick FETCH_HEAD
787 - shell: !include-raw-escape:
788 - ../shell/git-validate-jira-urls.sh
789 - ../shell/jjb-install.sh
790 - ../shell/jjb-verify-job.sh
791 - ../shell/jjb-check-unicode.sh
792 - ../shell/jjb-cleanup.sh
793 - lf-infra-gpg-verify-git-signature
796 name: '{project-name}-jjb-verify-upstream-gjjb'
797 id: gerrit-jjb-verify-upstream-gjjb
799 # yamllint disable-line rule:key-duplicates
800 <<: *lf_jjb_verify_upstream_gjjb
802 ######################
803 # Default parameters #
804 ######################
806 git-url: '$GIT_URL/$PROJECT'
808 #####################
809 # Job Configuration #
810 #####################
813 - lf-infra-gerrit-scm:
817 submodule-recursive: true
818 choosing-strategy: default
819 jenkins-ssh-credential: '{jenkins-ssh-credential}'
823 server-name: 'LinuxFoundation'
825 - patchset-created-event:
827 exclude-trivial-rebase: false
828 exclude-no-code-change: false
829 - draft-published-event
830 - comment-added-contains-event:
831 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
833 - project-compare-type: ANT
834 project-pattern: 'releng/global-jjb'
836 - branch-compare-type: ANT
837 branch-pattern: '**/master'
839 gerrit-build-failed-codereview-value: -1
840 gerrit-build-failed-verified-value: 0
841 gerrit-build-successful-codereview-value: 1
842 gerrit-build-successful-verified-value: 0
848 - lf_license_check: &lf_license_check
849 name: lf-license-check
851 ######################
852 # Default parameters #
853 ######################
856 build-days-to-keep: 7
865 git-url: '$GIT_URL/$PROJECT'
866 github-url: 'https://github.com'
868 license-exclude-paths: ''
869 licenses-allowed: Apache-2.0,EPL-1.0,MIT
870 project-pattern: '**'
874 #####################
875 # Job Configuration #
876 #####################
878 project-type: freestyle
881 disabled: '{disable-job}'
884 - lf-infra-properties:
885 build-days-to-keep: '{build-days-to-keep}'
888 - lf-infra-parameters:
892 lftools-version: '{lftools-version}'
896 build-timeout: '{build-timeout}'
897 jenkins-ssh-credential: '{jenkins-ssh-credential}'
901 file-patterns: '{file-patterns}'
902 spdx-disable: '{spdx-disable}'
903 lhc-version: '{lhc-version}'
904 license-exclude-paths: '{license-exclude-paths}'
905 licenses-allowed: '{licenses-allowed}'
911 name: '{project-name}-license-check'
912 id: gerrit-license-check
913 <<: *lf_license_check
915 git-url: '$GIT_URL/$GERRIT_PROJECT'
918 - lf-infra-gerrit-scm:
920 refspec: '$GERRIT_REFSPEC'
921 branch: '$GERRIT_BRANCH'
922 # Submodules are out of the project's control
923 submodule-recursive: false
924 choosing-strategy: gerrit
925 jenkins-ssh-credential: '{jenkins-ssh-credential}'
929 server-name: '{gerrit-server-name}'
930 # Trigger should not be overridable as we want to always run
932 - patchset-created-event:
933 exclude-drafts: false
934 exclude-trivial-rebase: false
935 exclude-no-code-change: false
936 - draft-published-event
937 - comment-added-contains-event:
938 comment-contains-value: recheck$
940 - project-compare-type: ANT
941 project-pattern: '{project-pattern}'
943 - branch-compare-type: ANT
947 name: '{project-name}-license-check'
948 id: github-license-check
949 <<: *lf_license_check
952 - lf-infra-properties:
953 build-days-to-keep: '{build-days-to-keep}'
955 url: '{github-url}/{github-org}/{project}'
958 - lf-infra-github-scm:
959 url: '{git-clone-url}{github-org}/{project}'
960 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
962 # Submodules are out of the project's control
963 submodule-recursive: false
964 choosing-strategy: default
965 jenkins-ssh-credential: '{jenkins-ssh-credential}'
968 - github-pull-request:
969 trigger-phrase: '^recheck$'
970 only-trigger-phrase: false
971 status-context: 'License Check'
974 white-list-target-branches:
981 - lf_info_yaml_verify: &lf_info_yaml_verify
982 name: lf-info-yaml-verify
984 ######################
985 # Default parameters #
986 ######################
988 gerrit_verify_triggers:
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[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
997 #####################
998 # Job Configuration #
999 #####################
1004 - shell: !include-raw-escape:
1005 - ../shell/git-validate-info-yaml.sh
1006 - ../shell/info-file-validate.sh
1009 name: '{project-name}-info-yaml-verify'
1010 id: gerrit-info-yaml-verify
1012 # yamllint disable-line rule:key-duplicates
1013 <<: *lf_info_yaml_verify
1015 git-url: '$GIT_URL/$GERRIT_PROJECT'
1018 - lf-infra-gerrit-scm:
1019 git-url: '{git-url}'
1020 refspec: '$GERRIT_REFSPEC'
1021 branch: '$GERRIT_BRANCH'
1022 submodule-recursive: '{submodule-recursive}'
1023 choosing-strategy: gerrit
1024 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1028 server-name: '{gerrit-server-name}'
1029 trigger-on: '{obj:gerrit_verify_triggers}'
1031 - project-compare-type: ANT
1032 project-pattern: '{project}'
1034 - branch-compare-type: ANT
1035 branch-pattern: '**/{branch}'
1037 - compare-type: REG_EXP
1038 pattern: 'INFO.yaml'
1041 name: '{project-name}-info-yaml-verify'
1042 id: github-info-yaml-verify
1044 # yamllint disable-line rule:key-duplicates
1045 <<: *lf_info_yaml_verify
1047 github-url: 'https://github.com'
1050 url: '{github-url}/{github-org}/{project}'
1053 - lf-infra-github-scm:
1054 url: '{git-clone-url}{github-org}/{project}'
1055 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1057 submodule-recursive: '{submodule-recursive}'
1058 choosing-strategy: default
1059 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1062 - github-pull-request:
1063 trigger-phrase: '^(recheck|reverify)$'
1064 only-trigger-phrase: false
1065 status-context: 'INFO File Verify'
1068 # included-regions MUST match gerrit file-paths
1069 included-regions: 'INFO.yaml'
1070 white-list-target-branches:
1077 - lf_openstack_cron: &lf_openstack_cron
1078 name: lf-openstack-cron
1080 ######################
1081 # Default parameters #
1082 ######################
1085 build-days-to-keep: 7
1089 git-url: '$GIT_URL/$PROJECT'
1090 github-url: 'https://github.com'
1091 openstack-cloud: vex
1094 #####################
1095 # Job Configuration #
1096 #####################
1098 project-type: freestyle
1099 node: '{build-node}'
1101 disabled: '{disable-job}'
1104 - lf-infra-properties:
1105 build-days-to-keep: '{build-days-to-keep}'
1108 - lf-infra-parameters:
1109 project: '{project}'
1112 lftools-version: '{lftools-version}'
1115 - lf-infra-wrappers:
1116 build-timeout: '{build-timeout}'
1117 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1118 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1119 - config-file-provider:
1121 - file-id: clouds-yaml
1122 target: '$HOME/.config/openstack/clouds.yaml'
1124 target: '$HOME/.npmrc'
1126 target: '$HOME/.config/pip/pip.conf'
1129 - timed: '{obj:cron}'
1133 properties-content: OS_CLOUD={openstack-cloud}
1134 - shell: !include-raw-escape: ../shell/openstack-install.sh
1135 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1141 name: '{project-name}-openstack-cron'
1142 id: gerrit-openstack-cron
1143 <<: *lf_openstack_cron
1146 - lf-infra-gerrit-scm:
1147 git-url: '{git-url}'
1148 refspec: 'refs/heads/{branch}'
1150 submodule-recursive: true
1151 choosing-strategy: default
1152 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1155 name: '{project-name}-openstack-cron'
1156 id: github-openstack-cron
1157 <<: *lf_openstack_cron
1160 - lf-infra-github-scm:
1161 url: '{git-clone-url}{github-org}/{project}'
1163 branch: 'refs/heads/{branch}'
1164 submodule-recursive: true
1165 choosing-strategy: default
1166 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1172 - lf_packer_merge: &lf_packer_merge
1173 name: lf-packer-merge
1175 ######################
1176 # Default parameters #
1177 ######################
1180 openstack-cloud: vex
1182 #####################
1183 # Job Configuration #
1184 #####################
1187 - lf-infra-parameters:
1188 project: '{project}'
1191 lftools-version: '{lftools-version}'
1192 - lf-packer-parameters:
1193 packer-version: '{packer-version}'
1196 - lf-infra-packer-build:
1197 openstack: '{openstack}'
1198 openstack-cloud: '{openstack-cloud}'
1199 packer-cloud-settings: '{packer-cloud-settings}'
1200 packer-version: '{packer-version}'
1201 platform: '{platforms}'
1202 template: '{templates}'
1205 name: '{project-name}-packer-merge-{platforms}-{templates}'
1206 id: gerrit-packer-merge
1207 <<: *lf_packer_common
1208 # yamllint disable-line rule:key-duplicates
1209 <<: *lf_packer_merge
1211 ######################
1212 # Default parameters #
1213 ######################
1215 git-url: '$GIT_URL/$GERRIT_PROJECT'
1217 gerrit_merge_triggers:
1218 - change-merged-event
1219 - comment-added-contains-event:
1220 comment-contains-value: remerge$
1222 #####################
1223 # Job Configuration #
1224 #####################
1227 - lf-infra-gerrit-scm:
1228 git-url: '{git-url}'
1229 refspec: '$GERRIT_REFSPEC'
1230 branch: '$GERRIT_BRANCH'
1231 submodule-recursive: '{submodule-recursive}'
1232 choosing-strategy: gerrit
1233 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1236 - timed: '{obj:cron}'
1238 server-name: '{gerrit-server-name}'
1239 trigger-on: '{obj:gerrit_merge_triggers}'
1241 - project-compare-type: ANT
1242 project-pattern: '{project}'
1244 - branch-compare-type: ANT
1245 branch-pattern: '**/{branch}'
1247 - compare-type: REG_EXP
1248 pattern: 'packer\/provision\/.*\.sh'
1249 - compare-type: REG_EXP
1250 pattern: 'packer\/provision\/.*\.bat'
1251 - compare-type: REG_EXP
1252 pattern: 'packer\/provision\/.*\.ps1'
1253 - compare-type: REG_EXP
1254 pattern: 'packer\/provision\/{templates}\.yaml'
1255 - compare-type: REG_EXP
1256 pattern: 'packer\/provision\/local-{templates}\.yaml'
1257 - compare-type: REG_EXP
1258 pattern: 'packer\/templates\/{templates}\.json'
1259 - compare-type: REG_EXP
1260 pattern: 'packer\/vars\/{platforms}\.json'
1263 name: '{project-name}-packer-merge-{platforms}-{templates}'
1264 id: github-packer-merge
1265 <<: *lf_packer_common
1266 # yamllint disable-line rule:key-duplicates
1267 <<: *lf_packer_merge
1269 #####################
1270 # Job Configuration #
1271 #####################
1274 - lf-infra-properties:
1275 project: '{project}'
1276 build-days-to-keep: 7
1278 url: '{github-url}/{github-org}/{project}'
1281 - lf-infra-github-scm:
1282 url: '{git-clone-url}{github-org}/{project}'
1284 branch: 'refs/heads/{branch}'
1285 submodule-recursive: '{submodule-recursive}'
1286 choosing-strategy: default
1287 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1290 - timed: '{obj:cron}'
1295 - github-pull-request:
1296 trigger-phrase: '^remerge$'
1297 only-trigger-phrase: true
1298 status-context: 'Packer {platforms}-{templates} Merge'
1303 white-list: '{obj:github_pr_whitelist}'
1304 admin-list: '{obj:github_pr_admin_list}'
1305 # included-regions MUST match Gerrit Trigger file-paths
1307 - 'packer\/provision\/.*\.sh'
1308 - 'packer\/provision\/.*\.bat'
1309 - 'packer\/provision\/.*\.ps1'
1310 - 'packer\/provision\/{templates}\.yaml'
1311 - 'packer\/provision\/local-{templates}\.yaml'
1312 - 'packer\/templates\/{templates}\.json'
1313 - 'packer\/vars\/{platforms}\.json'
1314 white-list-target-branches:
1321 - lf_packer_verify: &lf_packer_verify
1322 name: lf-packer-verify
1324 ######################
1325 # Default parameters #
1326 ######################
1330 gerrit_verify_triggers:
1331 - patchset-created-event:
1332 exclude-drafts: true
1333 exclude-trivial-rebase: false
1334 exclude-no-code-change: false
1335 - draft-published-event
1336 - comment-added-contains-event:
1337 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1339 gerrit_trigger_file_paths:
1340 - compare-type: REG_EXP
1341 pattern: 'packer\/.*'
1343 # github_included_regions MUST match gerrit_trigger_file_paths
1344 github_included_regions:
1347 #####################
1348 # Job Configuration #
1349 #####################
1354 - lf-infra-packer-validate:
1355 packer-cloud-settings: '{packer-cloud-settings}'
1356 packer-version: '{packer-version}'
1359 name: '{project-name}-packer-verify'
1360 id: gerrit-packer-verify
1361 <<: *lf_packer_common
1362 # yamllint disable-line rule:key-duplicates
1363 <<: *lf_packer_verify
1365 ######################
1366 # Default parameters #
1367 ######################
1369 git-url: '$GIT_URL/$GERRIT_PROJECT'
1371 #####################
1372 # Job Configuration #
1373 #####################
1376 - lf-infra-gerrit-scm:
1377 git-url: '{git-url}'
1378 refspec: '$GERRIT_REFSPEC'
1379 branch: '$GERRIT_BRANCH'
1380 submodule-recursive: '{submodule-recursive}'
1381 choosing-strategy: gerrit
1382 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1386 server-name: '{gerrit-server-name}'
1387 trigger-on: '{obj:gerrit_verify_triggers}'
1389 - project-compare-type: ANT
1390 project-pattern: '{project}'
1392 - branch-compare-type: ANT
1393 branch-pattern: '**/{branch}'
1394 file-paths: '{obj:gerrit_trigger_file_paths}'
1397 name: '{project-name}-packer-verify'
1398 id: github-packer-verify
1399 <<: *lf_packer_common
1400 # yamllint disable-line rule:key-duplicates
1401 <<: *lf_packer_verify
1403 #####################
1404 # Job Configuration #
1405 #####################
1408 - lf-infra-properties:
1409 project: '{project}'
1410 build-days-to-keep: 7
1412 url: '{github-url}/{github-org}/{project}'
1415 - lf-infra-github-scm:
1416 url: '{git-clone-url}{github-org}/{project}'
1417 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1419 submodule-recursive: '{submodule-recursive}'
1420 choosing-strategy: default
1421 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1424 - github-pull-request:
1425 trigger-phrase: '^(recheck|reverify)$'
1426 only-trigger-phrase: false
1427 status-context: 'Packer Verify'
1430 included-regions: '{obj:github_included_regions}'
1431 white-list-target-branches: