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
40 packer-cloud-settings: packer-cloud-env
47 project-type: freestyle
49 disabled: '{disable-job}'
52 - lf-infra-properties:
57 - lf-infra-parameters:
61 lftools-version: '{lftools-version}'
62 - lf-packer-parameters:
63 packer-version: '{packer-version}'
67 build-timeout: '{build-timeout}'
68 jenkins-ssh-credential: '{jenkins-ssh-credential}'
74 name: lf-infra-jjb-parameters
78 default: '{jjb-version}'
79 description: Jenkins Job Builder version to download and install.
82 name: lf-packer-parameters
86 default: '{packer-version}'
87 description: Packer version to download and install.
89 - lf_jjb_common: &lf_jjb_common
92 ######################
93 # Default parameters #
94 ######################
99 github-url: 'https://github.com'
102 submodule-recursive: true
103 submodule-timeout: 10
105 gerrit_trigger_file_paths:
106 - compare-type: REG_EXP
108 - compare-type: REG_EXP
109 pattern: 'global-jjb'
110 - compare-type: REG_EXP
113 # github_included_regions MUST match gerrit_trigger_file_paths
114 github_included_regions:
119 #####################
120 # Job Configuration #
121 #####################
123 project-type: freestyle
125 disabled: '{disable-job}'
128 - lf-infra-properties:
130 build-days-to-keep: 7
133 - lf-infra-parameters:
137 lftools-version: '{lftools-version}'
138 - lf-infra-jjb-parameters:
139 jjb-version: '{jjb-version}'
143 build-timeout: '{build-timeout}'
144 jenkins-ssh-credential: '{jenkins-ssh-credential}'
149 ######################
150 # Gerrit Branch Lock #
151 ######################
154 name: '{project-name}-gerrit-branch-lock-{stream}'
155 id: gerrit-branch-lock
157 ######################
158 # Default parameters #
159 ######################
163 git-url: '$GIT_URL/$GERRIT_PROJECT'
165 submodule-timeout: 10
166 gerrit_merge_triggers:
167 - comment-added-contains-event:
168 comment-contains-value: (un)?lock branch$
170 #####################
171 # Job Configuration #
172 #####################
174 project-type: freestyle
176 disabled: '{disable-job}'
179 - lf-infra-properties:
181 build-days-to-keep: 1
184 - lf-infra-parameters:
188 lftools-version: '{lftools-version}'
193 jenkins-ssh-credential: '{jenkins-ssh-credential}'
196 - lf-infra-gerrit-scm:
200 submodule-recursive: false
201 submodule-timeout: '{submodule-timeout}'
202 choosing-strategy: default
203 jenkins-ssh-credential: '{jenkins-ssh-credential}'
207 server-name: '{gerrit-server-name}'
208 trigger-on: '{obj:gerrit_merge_triggers}'
210 - project-compare-type: ANT
211 project-pattern: '{project}'
213 - branch-compare-type: ANT
214 branch-pattern: '**/{branch}'
217 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
223 ##########################################
224 # Jenkins Configuration Management Merge #
225 ##########################################
228 name: lf-jenkins-cfg-clouds
232 properties-content: 'jenkins_silos={jenkins-silos}'
233 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
234 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
237 name: lf-jenkins-cfg-global-vars
241 properties-content: 'jenkins_silos={jenkins-silos}'
242 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
243 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
245 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
246 name: lf-jenkins-cfg-merge
248 ######################
249 # Default parameters #
250 ######################
255 git-url: '$GIT_URL/$GERRIT_PROJECT'
256 github-url: 'https://github.com'
257 jenkins-silos: production sandbox
258 submodule-timeout: 10
260 gerrit_merge_triggers:
261 - change-merged-event
262 - comment-added-contains-event:
263 comment-contains-value: remerge$
265 gerrit_trigger_file_paths:
266 - compare-type: REG_EXP
267 pattern: 'jenkins-config\/.*'
269 # github_included_regions MUST match gerrit_trigger_file_paths
270 github_included_regions:
271 - 'jenkins-config\/.*'
273 #####################
274 # Job Configuration #
275 #####################
277 project-type: freestyle
280 disabled: '{disable-job}'
283 - lf-infra-properties:
285 build-days-to-keep: 1
288 - lf-infra-parameters:
292 lftools-version: '{lftools-version}'
297 jenkins-ssh-credential: '{jenkins-ssh-credential}'
301 - lf-jenkins-cfg-global-vars:
302 jenkins-silos: '{jenkins-silos}'
303 - lf-jenkins-cfg-clouds:
304 jenkins-silos: '{jenkins-silos}'
310 name: '{project-name}-jenkins-cfg-merge'
311 id: gerrit-jenkins-cfg-merge
312 <<: *lf_jenkins_cfg_merge
315 - lf-infra-gerrit-scm:
317 refspec: 'refs/heads/{branch}'
319 submodule-recursive: true
320 submodule-timeout: '{submodule-timeout}'
321 choosing-strategy: default
322 jenkins-ssh-credential: '{jenkins-ssh-credential}'
325 - timed: '{obj:cron}'
327 server-name: '{gerrit-server-name}'
328 trigger-on: '{obj:gerrit_merge_triggers}'
330 - project-compare-type: ANT
331 project-pattern: '{project}'
333 - branch-compare-type: ANT
334 branch-pattern: '**/{branch}'
335 file-paths: '{obj:gerrit_trigger_file_paths}'
338 name: '{project-name}-jenkins-cfg-merge'
339 id: github-jenkins-cfg-merge
340 <<: *lf_jenkins_cfg_merge
343 - lf-infra-properties:
345 build-days-to-keep: 1
347 url: '{github-url}/{github-org}/{project}'
350 - lf-infra-github-scm:
351 url: '{git-clone-url}{github-org}/{project}'
353 branch: 'refs/heads/{branch}'
354 submodule-recursive: true
355 submodule-timeout: '{submodule-timeout}'
356 choosing-strategy: default
357 jenkins-ssh-credential: '{jenkins-ssh-credential}'
360 - timed: '{obj:cron}'
364 - github-pull-request:
365 trigger-phrase: '^remerge$'
366 only-trigger-phrase: true
367 status-context: 'Jenkins CFG Merge'
372 white-list: '{obj:github_pr_whitelist}'
373 admin-list: '{obj:github_pr_admin_list}'
374 included-regions: '{obj:github_included_regions}'
375 white-list-target-branches:
379 ###########################
380 # JENKINS SANDBOX CLEANUP #
381 ###########################
383 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
384 name: lf-jenkins-sandbox-cleanup
386 ######################
387 # Default parameters #
388 ######################
391 # Run every Saturday at 08:00 UTC
395 #####################
396 # Job Configuration #
397 #####################
399 project-type: freestyle
402 disabled: '{disable-job}'
405 - lf-infra-jjb-parameters:
406 jjb-version: '{jjb-version}'
409 - timed: '{obj:cron}'
413 - shell: !include-raw-escape:
414 - ../shell/jjb-install.sh
415 - ../shell/jenkins-sandbox-cleanup.sh
416 - ../shell/jjb-cleanup.sh
419 name: '{project-name}-jenkins-sandbox-cleanup'
420 id: gerrit-jenkins-sandbox-cleanup
422 # yamllint disable-line rule:key-duplicates
423 <<: *lf_jenkins_sandbox_cleanup
426 name: '{project-name}-jenkins-sandbox-cleanup'
427 id: github-jenkins-sandbox-cleanup
429 # yamllint disable-line rule:key-duplicates
430 <<: *lf_jenkins_sandbox_cleanup
437 - lf_jjb_deploy_job: &lf_jjb_deploy_job
438 name: lf-jjb-deploy-job
440 ######################
441 # Default parameters #
442 ######################
446 # jjb-deploy should always clone $PROJECT regardless of what
447 # $GERRIT_PROJECT triggered the job.
448 git-url: '$GIT_URL/$PROJECT'
449 github-url: 'https://github.com'
451 submodule-timeout: 10
452 gerrit_jjb_deploy_job_triggers:
453 - comment-added-contains-event:
454 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
456 #####################
457 # Job Configuration #
458 #####################
460 project-type: freestyle
463 disabled: '{disable-job}'
466 - lf-infra-properties:
468 build-days-to-keep: 1
471 - lf-infra-parameters:
475 lftools-version: '{lftools-version}'
480 jenkins-ssh-credential: '{jenkins-ssh-credential}'
484 pip-packages: jenkins-job-builder
485 - lf-infra-jjbini-sandbox
486 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
492 name: '{project-name}-jjb-deploy-job'
493 id: gerrit-jjb-deploy-job
494 <<: *lf_jjb_deploy_job
497 - lf-infra-gerrit-scm:
499 refspec: 'refs/heads/{branch}'
501 submodule-recursive: true
502 submodule-timeout: '{submodule-timeout}'
503 choosing-strategy: default
504 jenkins-ssh-credential: '{jenkins-ssh-credential}'
508 server-name: '{gerrit-server-name}'
509 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
511 - project-compare-type: ANT
512 project-pattern: '**'
514 - branch-compare-type: ANT
523 name: '{project-name}-jjb-deploy-job'
524 id: github-jjb-deploy-job
525 <<: *lf_jjb_deploy_job
528 - lf-infra-properties:
530 build-days-to-keep: 1
532 url: '{github-url}/{github-org}/{project}'
535 - lf-infra-github-scm:
536 url: '{git-clone-url}{github-org}/{project}'
537 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
539 submodule-recursive: true
540 submodule-timeout: '{submodule-timeout}'
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 #####################
577 - shell: !include-raw-escape:
578 - ../shell/jjb-install.sh
579 - ../shell/jjb-merge-job.sh
580 - ../shell/jjb-cleanup.sh
583 name: '{project-name}-jjb-merge'
586 # yamllint disable-line rule:key-duplicates
589 git-url: '$GIT_URL/$GERRIT_PROJECT'
592 - lf-infra-gerrit-scm:
596 submodule-recursive: '{submodule-recursive}'
597 submodule-timeout: '{submodule-timeout}'
598 choosing-strategy: default
599 jenkins-ssh-credential: '{jenkins-ssh-credential}'
603 server-name: '{gerrit-server-name}'
604 trigger-on: '{obj:gerrit_merge_triggers}'
606 - project-compare-type: ANT
607 project-pattern: '{project}'
609 - branch-compare-type: ANT
610 branch-pattern: '**/{branch}'
611 file-paths: '{obj:gerrit_trigger_file_paths}'
614 name: '{project-name}-jjb-merge'
617 # yamllint disable-line rule:key-duplicates
620 #####################
621 # Job Configuration #
622 #####################
625 - lf-infra-properties:
627 build-days-to-keep: 7
629 url: '{github-url}/{github-org}/{project}'
632 - lf-infra-github-scm:
633 url: '{git-clone-url}{github-org}/{project}'
635 branch: 'refs/heads/{branch}'
636 submodule-recursive: '{submodule-recursive}'
637 submodule-timeout: '{submodule-timeout}'
638 choosing-strategy: default
639 jenkins-ssh-credential: '{jenkins-ssh-credential}'
645 - github-pull-request:
646 trigger-phrase: '^remerge$'
647 only-trigger-phrase: true
648 status-context: 'JJB Merge'
653 white-list: '{obj:github_pr_whitelist}'
654 admin-list: '{obj:github_pr_admin_list}'
655 included-regions: '{obj:github_included_regions}'
656 white-list-target-branches:
663 - lf_jjb_verify: &lf_jjb_verify
666 ######################
667 # Default parameters #
668 ######################
670 gerrit_verify_triggers:
671 - patchset-created-event:
673 exclude-trivial-rebase: false
674 exclude-no-code-change: false
675 - draft-published-event
676 - comment-added-contains-event:
677 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
679 #####################
680 # Job Configuration #
681 #####################
688 - shell: !include-raw-escape:
689 - ../shell/git-validate-jira-urls.sh
690 - ../shell/jjb-install.sh
691 - ../shell/jjb-verify-job.sh
692 - ../shell/jjb-check-unicode.sh
693 - ../shell/jjb-cleanup.sh
694 - lf-infra-gpg-verify-git-signature
697 name: '{project-name}-jjb-verify'
698 id: gerrit-jjb-verify
700 # yamllint disable-line rule:key-duplicates
703 ######################
704 # Default parameters #
705 ######################
707 git-url: '$GIT_URL/$GERRIT_PROJECT'
709 #####################
710 # Job Configuration #
711 #####################
714 - lf-infra-gerrit-scm:
716 refspec: '$GERRIT_REFSPEC'
717 branch: '$GERRIT_BRANCH'
718 submodule-recursive: '{submodule-recursive}'
719 submodule-timeout: '{submodule-timeout}'
720 choosing-strategy: gerrit
721 jenkins-ssh-credential: '{jenkins-ssh-credential}'
725 server-name: '{gerrit-server-name}'
726 trigger-on: '{obj:gerrit_verify_triggers}'
728 - project-compare-type: ANT
729 project-pattern: '{project}'
731 - branch-compare-type: ANT
732 branch-pattern: '**/{branch}'
733 file-paths: '{obj:gerrit_trigger_file_paths}'
736 name: '{project-name}-jjb-verify'
737 id: github-jjb-verify
739 # yamllint disable-line rule:key-duplicates
742 #####################
743 # Job Configuration #
744 #####################
747 - lf-infra-properties:
749 build-days-to-keep: 7
751 url: '{github-url}/{github-org}/{project}'
754 - lf-infra-github-scm:
755 url: '{git-clone-url}{github-org}/{project}'
756 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
758 submodule-recursive: '{submodule-recursive}'
759 submodule-timeout: '{submodule-timeout}'
760 choosing-strategy: default
761 jenkins-ssh-credential: '{jenkins-ssh-credential}'
764 - github-pull-request:
765 trigger-phrase: '^(recheck|reverify)$'
766 only-trigger-phrase: false
767 status-context: 'JJB Verify'
770 included-regions: '{obj:github_included_regions}'
771 white-list-target-branches:
774 ############################
775 # JJB Verify Upstream GJJB #
776 ############################
778 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
779 name: lf-jjb-verify-upstream-gjjb
781 #####################
782 # Job Configuration #
783 #####################
790 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
791 git cherry-pick FETCH_HEAD
793 - shell: !include-raw-escape:
794 - ../shell/git-validate-jira-urls.sh
795 - ../shell/jjb-install.sh
796 - ../shell/jjb-verify-job.sh
797 - ../shell/jjb-check-unicode.sh
798 - ../shell/jjb-cleanup.sh
799 - lf-infra-gpg-verify-git-signature
802 name: '{project-name}-jjb-verify-upstream-gjjb'
803 id: gerrit-jjb-verify-upstream-gjjb
805 # yamllint disable-line rule:key-duplicates
806 <<: *lf_jjb_verify_upstream_gjjb
808 ######################
809 # Default parameters #
810 ######################
812 git-url: '$GIT_URL/$PROJECT'
813 submodule-timeout: 10
815 #####################
816 # Job Configuration #
817 #####################
820 - lf-infra-gerrit-scm:
824 submodule-recursive: true
825 submodule-timeout: '{submodule-timeout}'
826 choosing-strategy: default
827 jenkins-ssh-credential: '{jenkins-ssh-credential}'
831 server-name: 'LinuxFoundation'
833 - patchset-created-event:
835 exclude-trivial-rebase: false
836 exclude-no-code-change: false
837 - draft-published-event
838 - comment-added-contains-event:
839 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
841 - project-compare-type: ANT
842 project-pattern: 'releng/global-jjb'
844 - branch-compare-type: ANT
845 branch-pattern: '**/master'
847 gerrit-build-failed-codereview-value: -1
848 gerrit-build-failed-verified-value: 0
849 gerrit-build-successful-codereview-value: 1
850 gerrit-build-successful-verified-value: 0
856 - lf_license_check: &lf_license_check
857 name: lf-license-check
859 ######################
860 # Default parameters #
861 ######################
864 build-days-to-keep: 7
873 git-url: '$GIT_URL/$PROJECT'
874 github-url: 'https://github.com'
876 license-exclude-paths: ''
877 licenses-allowed: Apache-2.0,EPL-1.0,MIT
878 project-pattern: '**'
881 submodule-timeout: 10
883 #####################
884 # Job Configuration #
885 #####################
887 project-type: freestyle
890 disabled: '{disable-job}'
893 - lf-infra-properties:
894 build-days-to-keep: '{build-days-to-keep}'
897 - lf-infra-parameters:
901 lftools-version: '{lftools-version}'
905 build-timeout: '{build-timeout}'
906 jenkins-ssh-credential: '{jenkins-ssh-credential}'
910 file-patterns: '{file-patterns}'
911 spdx-disable: '{spdx-disable}'
912 lhc-version: '{lhc-version}'
913 license-exclude-paths: '{license-exclude-paths}'
914 licenses-allowed: '{licenses-allowed}'
920 name: '{project-name}-license-check'
921 id: gerrit-license-check
922 <<: *lf_license_check
924 git-url: '$GIT_URL/$GERRIT_PROJECT'
927 - lf-infra-gerrit-scm:
929 refspec: '$GERRIT_REFSPEC'
930 branch: '$GERRIT_BRANCH'
931 # Submodules are out of the project's control
932 submodule-recursive: false
933 submodule-timeout: '{submodule-timeout}'
934 choosing-strategy: gerrit
935 jenkins-ssh-credential: '{jenkins-ssh-credential}'
939 server-name: '{gerrit-server-name}'
940 # Trigger should not be overridable as we want to always run
942 - patchset-created-event:
943 exclude-drafts: false
944 exclude-trivial-rebase: false
945 exclude-no-code-change: false
946 - draft-published-event
947 - comment-added-contains-event:
948 comment-contains-value: recheck$
950 - project-compare-type: ANT
951 project-pattern: '{project-pattern}'
953 - branch-compare-type: ANT
957 name: '{project-name}-license-check'
958 id: github-license-check
959 <<: *lf_license_check
962 - lf-infra-properties:
963 build-days-to-keep: '{build-days-to-keep}'
965 url: '{github-url}/{github-org}/{project}'
968 - lf-infra-github-scm:
969 url: '{git-clone-url}{github-org}/{project}'
970 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
972 # Submodules are out of the project's control
973 submodule-recursive: false
974 submodule-timeout: '{submodule-timeout}'
975 choosing-strategy: default
976 jenkins-ssh-credential: '{jenkins-ssh-credential}'
979 - github-pull-request:
980 trigger-phrase: '^recheck$'
981 only-trigger-phrase: false
982 status-context: 'License Check'
985 white-list-target-branches:
992 - lf_info_yaml_verify: &lf_info_yaml_verify
993 name: lf-info-yaml-verify
995 ######################
996 # Default parameters #
997 ######################
999 gerrit_verify_triggers:
1000 - patchset-created-event:
1001 exclude-drafts: true
1002 exclude-trivial-rebase: false
1003 exclude-no-code-change: false
1004 - draft-published-event
1005 - comment-added-contains-event:
1006 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1008 #####################
1009 # Job Configuration #
1010 #####################
1015 - shell: !include-raw-escape:
1016 - ../shell/git-validate-info-yaml.sh
1017 - ../shell/info-file-validate.sh
1020 name: '{project-name}-info-yaml-verify'
1021 id: gerrit-info-yaml-verify
1023 # yamllint disable-line rule:key-duplicates
1024 <<: *lf_info_yaml_verify
1026 git-url: '$GIT_URL/$GERRIT_PROJECT'
1029 - lf-infra-gerrit-scm:
1030 git-url: '{git-url}'
1031 refspec: '$GERRIT_REFSPEC'
1032 branch: '$GERRIT_BRANCH'
1033 submodule-recursive: '{submodule-recursive}'
1034 submodule-timeout: '{submodule-timeout}'
1035 choosing-strategy: gerrit
1036 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1040 server-name: '{gerrit-server-name}'
1041 trigger-on: '{obj:gerrit_verify_triggers}'
1043 - project-compare-type: ANT
1044 project-pattern: '{project}'
1046 - branch-compare-type: ANT
1047 branch-pattern: '**/{branch}'
1049 - compare-type: REG_EXP
1050 pattern: 'INFO.yaml'
1053 name: '{project-name}-info-yaml-verify'
1054 id: github-info-yaml-verify
1056 # yamllint disable-line rule:key-duplicates
1057 <<: *lf_info_yaml_verify
1059 github-url: 'https://github.com'
1062 url: '{github-url}/{github-org}/{project}'
1065 - lf-infra-github-scm:
1066 url: '{git-clone-url}{github-org}/{project}'
1067 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1069 submodule-recursive: '{submodule-recursive}'
1070 submodule-timeout: '{submodule-timeout}'
1071 choosing-strategy: default
1072 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1075 - github-pull-request:
1076 trigger-phrase: '^(recheck|reverify)$'
1077 only-trigger-phrase: false
1078 status-context: 'INFO File Verify'
1081 # included-regions MUST match gerrit file-paths
1082 included-regions: 'INFO.yaml'
1083 white-list-target-branches:
1090 - lf_openstack_cron: &lf_openstack_cron
1091 name: lf-openstack-cron
1093 ######################
1094 # Default parameters #
1095 ######################
1098 build-days-to-keep: 7
1102 git-url: '$GIT_URL/$PROJECT'
1103 github-url: 'https://github.com'
1104 openstack-cloud: vex
1106 submodule-timeout: 10
1108 #####################
1109 # Job Configuration #
1110 #####################
1112 project-type: freestyle
1113 node: '{build-node}'
1115 disabled: '{disable-job}'
1118 - lf-infra-properties:
1119 build-days-to-keep: '{build-days-to-keep}'
1122 - lf-infra-parameters:
1123 project: '{project}'
1126 lftools-version: '{lftools-version}'
1129 - lf-infra-wrappers:
1130 build-timeout: '{build-timeout}'
1131 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1132 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1133 - config-file-provider:
1135 - file-id: clouds-yaml
1136 target: '$HOME/.config/openstack/clouds.yaml'
1138 target: '$HOME/.npmrc'
1140 target: '$HOME/.config/pip/pip.conf'
1143 - timed: '{obj:cron}'
1147 properties-content: OS_CLOUD={openstack-cloud}
1148 - shell: !include-raw-escape: ../shell/openstack-install.sh
1149 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1155 name: '{project-name}-openstack-cron'
1156 id: gerrit-openstack-cron
1157 <<: *lf_openstack_cron
1160 - lf-infra-gerrit-scm:
1161 git-url: '{git-url}'
1162 refspec: 'refs/heads/{branch}'
1164 submodule-recursive: true
1165 submodule-timeout: '{submodule-timeout}'
1166 choosing-strategy: default
1167 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1170 name: '{project-name}-openstack-cron'
1171 id: github-openstack-cron
1172 <<: *lf_openstack_cron
1175 - lf-infra-github-scm:
1176 url: '{git-clone-url}{github-org}/{project}'
1178 branch: 'refs/heads/{branch}'
1179 submodule-recursive: true
1180 submodule-timeout: '{submodule-timeout}'
1181 choosing-strategy: default
1182 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1188 - lf_packer_merge: &lf_packer_merge
1189 name: lf-packer-merge
1191 ######################
1192 # Default parameters #
1193 ######################
1196 openstack-cloud: vex
1198 #####################
1199 # Job Configuration #
1200 #####################
1203 - lf-infra-parameters:
1204 project: '{project}'
1207 lftools-version: '{lftools-version}'
1208 - lf-packer-parameters:
1209 packer-version: '{packer-version}'
1212 - lf-infra-packer-build:
1213 openstack: '{openstack}'
1214 openstack-cloud: '{openstack-cloud}'
1215 packer-cloud-settings: '{packer-cloud-settings}'
1216 packer-version: '{packer-version}'
1217 platform: '{platforms}'
1218 template: '{templates}'
1221 name: '{project-name}-packer-merge-{platforms}-{templates}'
1222 id: gerrit-packer-merge
1223 <<: *lf_packer_common
1224 # yamllint disable-line rule:key-duplicates
1225 <<: *lf_packer_merge
1227 ######################
1228 # Default parameters #
1229 ######################
1231 git-url: '$GIT_URL/$GERRIT_PROJECT'
1233 gerrit_merge_triggers:
1234 - change-merged-event
1235 - comment-added-contains-event:
1236 comment-contains-value: remerge$
1238 #####################
1239 # Job Configuration #
1240 #####################
1243 - lf-infra-gerrit-scm:
1244 git-url: '{git-url}'
1245 refspec: '$GERRIT_REFSPEC'
1246 branch: '$GERRIT_BRANCH'
1247 submodule-recursive: '{submodule-recursive}'
1248 submodule-timeout: '{submodule-timeout}'
1249 choosing-strategy: gerrit
1250 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1253 - timed: '{obj:cron}'
1255 server-name: '{gerrit-server-name}'
1256 trigger-on: '{obj:gerrit_merge_triggers}'
1258 - project-compare-type: ANT
1259 project-pattern: '{project}'
1261 - branch-compare-type: ANT
1262 branch-pattern: '**/{branch}'
1264 - compare-type: REG_EXP
1265 pattern: 'packer\/provision\/.*\.sh'
1266 - compare-type: REG_EXP
1267 pattern: 'packer\/provision\/.*\.bat'
1268 - compare-type: REG_EXP
1269 pattern: 'packer\/provision\/.*\.ps1'
1270 - compare-type: REG_EXP
1271 pattern: 'packer\/provision\/{templates}\.yaml'
1272 - compare-type: REG_EXP
1273 pattern: 'packer\/provision\/local-{templates}\.yaml'
1274 - compare-type: REG_EXP
1275 pattern: 'packer\/templates\/{templates}\.json'
1276 - compare-type: REG_EXP
1277 pattern: 'packer\/vars\/{platforms}\.json'
1280 name: '{project-name}-packer-merge-{platforms}-{templates}'
1281 id: github-packer-merge
1282 <<: *lf_packer_common
1283 # yamllint disable-line rule:key-duplicates
1284 <<: *lf_packer_merge
1286 #####################
1287 # Job Configuration #
1288 #####################
1291 - lf-infra-properties:
1292 project: '{project}'
1293 build-days-to-keep: 7
1295 url: '{github-url}/{github-org}/{project}'
1298 - lf-infra-github-scm:
1299 url: '{git-clone-url}{github-org}/{project}'
1301 branch: 'refs/heads/{branch}'
1302 submodule-recursive: '{submodule-recursive}'
1303 submodule-timeout: '{submodule-timeout}'
1304 choosing-strategy: default
1305 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1308 - timed: '{obj:cron}'
1313 - github-pull-request:
1314 trigger-phrase: '^remerge$'
1315 only-trigger-phrase: true
1316 status-context: 'Packer {platforms}-{templates} Merge'
1321 white-list: '{obj:github_pr_whitelist}'
1322 admin-list: '{obj:github_pr_admin_list}'
1323 # included-regions MUST match Gerrit Trigger file-paths
1325 - 'packer\/provision\/.*\.sh'
1326 - 'packer\/provision\/.*\.bat'
1327 - 'packer\/provision\/.*\.ps1'
1328 - 'packer\/provision\/{templates}\.yaml'
1329 - 'packer\/provision\/local-{templates}\.yaml'
1330 - 'packer\/templates\/{templates}\.json'
1331 - 'packer\/vars\/{platforms}\.json'
1332 white-list-target-branches:
1339 - lf_packer_verify: &lf_packer_verify
1340 name: lf-packer-verify
1342 ######################
1343 # Default parameters #
1344 ######################
1348 openstack-cloud: vex
1350 gerrit_verify_triggers:
1351 - patchset-created-event:
1352 exclude-drafts: true
1353 exclude-trivial-rebase: false
1354 exclude-no-code-change: false
1355 - draft-published-event
1356 - comment-added-contains-event:
1357 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1359 gerrit_trigger_file_paths:
1360 - compare-type: REG_EXP
1361 pattern: 'packer\/.*'
1363 # github_included_regions MUST match gerrit_trigger_file_paths
1364 github_included_regions:
1367 #####################
1368 # Job Configuration #
1369 #####################
1374 - lf-infra-packer-validate:
1375 openstack: '{openstack}'
1376 openstack-cloud: '{openstack-cloud}'
1377 packer-cloud-settings: '{packer-cloud-settings}'
1378 packer-version: '{packer-version}'
1381 name: '{project-name}-packer-verify'
1382 id: gerrit-packer-verify
1383 <<: *lf_packer_common
1384 # yamllint disable-line rule:key-duplicates
1385 <<: *lf_packer_verify
1387 ######################
1388 # Default parameters #
1389 ######################
1391 git-url: '$GIT_URL/$GERRIT_PROJECT'
1393 #####################
1394 # Job Configuration #
1395 #####################
1398 - lf-infra-gerrit-scm:
1399 git-url: '{git-url}'
1400 refspec: '$GERRIT_REFSPEC'
1401 branch: '$GERRIT_BRANCH'
1402 submodule-recursive: '{submodule-recursive}'
1403 submodule-timeout: '{submodule-timeout}'
1404 choosing-strategy: gerrit
1405 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1409 server-name: '{gerrit-server-name}'
1410 trigger-on: '{obj:gerrit_verify_triggers}'
1412 - project-compare-type: ANT
1413 project-pattern: '{project}'
1415 - branch-compare-type: ANT
1416 branch-pattern: '**/{branch}'
1417 file-paths: '{obj:gerrit_trigger_file_paths}'
1420 name: '{project-name}-packer-verify'
1421 id: github-packer-verify
1422 <<: *lf_packer_common
1423 # yamllint disable-line rule:key-duplicates
1424 <<: *lf_packer_verify
1426 #####################
1427 # Job Configuration #
1428 #####################
1431 - lf-infra-properties:
1432 project: '{project}'
1433 build-days-to-keep: 7
1435 url: '{github-url}/{github-org}/{project}'
1438 - lf-infra-github-scm:
1439 url: '{git-clone-url}{github-org}/{project}'
1440 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1442 submodule-recursive: '{submodule-recursive}'
1443 submodule-timeout: '{submodule-timeout}'
1444 choosing-strategy: default
1445 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1448 - github-pull-request:
1449 trigger-phrase: '^(recheck|reverify)$'
1450 only-trigger-phrase: false
1451 status-context: 'Packer Verify'
1454 included-regions: '{obj:github_included_regions}'
1455 white-list-target-branches: