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
106 - compare-type: REG_EXP
107 pattern: 'global-jjb'
108 - compare-type: REG_EXP
111 # github_included_regions MUST match gerrit_trigger_file_paths
112 github_included_regions:
117 #####################
118 # Job Configuration #
119 #####################
121 project-type: freestyle
123 disabled: '{disable-job}'
126 - lf-infra-properties:
128 build-days-to-keep: 7
131 - lf-infra-parameters:
135 lftools-version: '{lftools-version}'
136 - lf-infra-jjb-parameters:
137 jjb-version: '{jjb-version}'
141 build-timeout: '{build-timeout}'
142 jenkins-ssh-credential: '{jenkins-ssh-credential}'
147 ######################
148 # Gerrit Branch Lock #
149 ######################
152 name: '{project-name}-gerrit-branch-lock-{stream}'
153 id: gerrit-branch-lock
155 ######################
156 # Default parameters #
157 ######################
161 git-url: '$GIT_URL/$GERRIT_PROJECT'
163 gerrit_merge_triggers:
164 - comment-added-contains-event:
165 comment-contains-value: (un)?lock branch$
167 #####################
168 # Job Configuration #
169 #####################
171 project-type: freestyle
173 disabled: '{disable-job}'
176 - lf-infra-properties:
178 build-days-to-keep: 1
181 - lf-infra-parameters:
185 lftools-version: '{lftools-version}'
190 jenkins-ssh-credential: '{jenkins-ssh-credential}'
193 - lf-infra-gerrit-scm:
197 submodule-recursive: false
198 choosing-strategy: default
199 jenkins-ssh-credential: '{jenkins-ssh-credential}'
203 server-name: '{gerrit-server-name}'
204 trigger-on: '{obj:gerrit_merge_triggers}'
206 - project-compare-type: ANT
207 project-pattern: '{project}'
209 - branch-compare-type: ANT
210 branch-pattern: '**/{branch}'
213 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
219 ##########################################
220 # Jenkins Configuration Management Merge #
221 ##########################################
224 name: lf-jenkins-cfg-clouds
228 properties-content: 'jenkins_silos={jenkins-silos}'
229 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
230 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
233 name: lf-jenkins-cfg-global-vars
237 properties-content: 'jenkins_silos={jenkins-silos}'
238 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
239 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
241 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
242 name: lf-jenkins-cfg-merge
244 ######################
245 # Default parameters #
246 ######################
251 git-url: '$GIT_URL/$GERRIT_PROJECT'
252 github-url: 'https://github.com'
253 jenkins-silos: production sandbox
255 gerrit_merge_triggers:
256 - change-merged-event
257 - comment-added-contains-event:
258 comment-contains-value: remerge$
260 gerrit_trigger_file_paths:
261 - compare-type: REG_EXP
262 pattern: 'jenkins-config\/.*'
264 # github_included_regions MUST match gerrit_trigger_file_paths
265 github_included_regions:
266 - 'jenkins-config\/.*'
268 #####################
269 # Job Configuration #
270 #####################
272 project-type: freestyle
275 disabled: '{disable-job}'
278 - lf-infra-properties:
280 build-days-to-keep: 1
283 - lf-infra-parameters:
287 lftools-version: '{lftools-version}'
292 jenkins-ssh-credential: '{jenkins-ssh-credential}'
296 - lf-jenkins-cfg-global-vars:
297 jenkins-silos: '{jenkins-silos}'
298 - lf-jenkins-cfg-clouds:
299 jenkins-silos: '{jenkins-silos}'
305 name: '{project-name}-jenkins-cfg-merge'
306 id: gerrit-jenkins-cfg-merge
307 <<: *lf_jenkins_cfg_merge
310 - lf-infra-gerrit-scm:
312 refspec: 'refs/heads/{branch}'
314 submodule-recursive: true
315 choosing-strategy: default
316 jenkins-ssh-credential: '{jenkins-ssh-credential}'
319 - timed: '{obj:cron}'
321 server-name: '{gerrit-server-name}'
322 trigger-on: '{obj:gerrit_merge_triggers}'
324 - project-compare-type: ANT
325 project-pattern: '{project}'
327 - branch-compare-type: ANT
328 branch-pattern: '**/{branch}'
329 file-paths: '{obj:gerrit_trigger_file_paths}'
332 name: '{project-name}-jenkins-cfg-merge'
333 id: github-jenkins-cfg-merge
334 <<: *lf_jenkins_cfg_merge
337 - lf-infra-properties:
339 build-days-to-keep: 1
341 url: '{github-url}/{github-org}/{project}'
344 - lf-infra-github-scm:
345 url: '{git-clone-url}{github-org}/{project}'
347 branch: 'refs/heads/{branch}'
348 submodule-recursive: true
349 choosing-strategy: default
350 jenkins-ssh-credential: '{jenkins-ssh-credential}'
353 - timed: '{obj:cron}'
357 - github-pull-request:
358 trigger-phrase: '^remerge$'
359 only-trigger-phrase: true
360 status-context: 'Jenkins CFG Merge'
365 white-list: '{obj:github_pr_whitelist}'
366 admin-list: '{obj:github_pr_admin_list}'
367 included-regions: '{obj:github_included_regions}'
368 white-list-target-branches:
372 ###########################
373 # JENKINS SANDBOX CLEANUP #
374 ###########################
376 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
377 name: lf-jenkins-sandbox-cleanup
379 ######################
380 # Default parameters #
381 ######################
384 # Run every Saturday at 08:00 UTC
388 #####################
389 # Job Configuration #
390 #####################
392 project-type: freestyle
395 disabled: '{disable-job}'
398 - lf-infra-jjb-parameters:
399 jjb-version: '{jjb-version}'
402 - timed: '{obj:cron}'
406 - shell: !include-raw-escape:
407 - ../shell/jjb-install.sh
408 - ../shell/jenkins-sandbox-cleanup.sh
409 - ../shell/jjb-cleanup.sh
412 name: '{project-name}-jenkins-sandbox-cleanup'
413 id: gerrit-jenkins-sandbox-cleanup
415 # yamllint disable-line rule:key-duplicates
416 <<: *lf_jenkins_sandbox_cleanup
419 name: '{project-name}-jenkins-sandbox-cleanup'
420 id: github-jenkins-sandbox-cleanup
422 # yamllint disable-line rule:key-duplicates
423 <<: *lf_jenkins_sandbox_cleanup
430 - lf_jjb_deploy_job: &lf_jjb_deploy_job
431 name: lf-jjb-deploy-job
433 ######################
434 # Default parameters #
435 ######################
439 # jjb-deploy should always clone $PROJECT regardless of what
440 # $GERRIT_PROJECT triggered the job.
441 git-url: '$GIT_URL/$PROJECT'
442 github-url: 'https://github.com'
444 gerrit_jjb_deploy_job_triggers:
445 - comment-added-contains-event:
446 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
448 #####################
449 # Job Configuration #
450 #####################
452 project-type: freestyle
455 disabled: '{disable-job}'
458 - lf-infra-properties:
460 build-days-to-keep: 1
463 - lf-infra-parameters:
467 lftools-version: '{lftools-version}'
472 jenkins-ssh-credential: '{jenkins-ssh-credential}'
476 pip-packages: jenkins-job-builder
477 - lf-infra-jjbini-sandbox
478 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
484 name: '{project-name}-jjb-deploy-job'
485 id: gerrit-jjb-deploy-job
486 <<: *lf_jjb_deploy_job
489 - lf-infra-gerrit-scm:
491 refspec: 'refs/heads/{branch}'
493 submodule-recursive: true
494 choosing-strategy: default
495 jenkins-ssh-credential: '{jenkins-ssh-credential}'
499 server-name: '{gerrit-server-name}'
500 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
502 - project-compare-type: ANT
503 project-pattern: '**'
505 - branch-compare-type: ANT
514 name: '{project-name}-jjb-deploy-job'
515 id: github-jjb-deploy-job
516 <<: *lf_jjb_deploy_job
519 - lf-infra-properties:
521 build-days-to-keep: 1
523 url: '{github-url}/{github-org}/{project}'
526 - lf-infra-github-scm:
527 url: '{git-clone-url}{github-org}/{project}'
528 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
530 submodule-recursive: true
531 choosing-strategy: default
532 jenkins-ssh-credential: '{jenkins-ssh-credential}'
535 - github-pull-request:
536 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
537 only-trigger-phrase: true
538 status-context: 'JJB Deploy Job'
541 white-list-target-branches:
548 - lf_jjb_merge: &lf_jjb_merge
551 ######################
552 # Default parameters #
553 ######################
555 gerrit_merge_triggers:
556 - change-merged-event
557 - comment-added-contains-event:
558 comment-contains-value: remerge$
560 #####################
561 # Job Configuration #
562 #####################
567 - shell: !include-raw-escape:
568 - ../shell/jjb-install.sh
569 - ../shell/jjb-merge-job.sh
570 - ../shell/jjb-cleanup.sh
573 name: '{project-name}-jjb-merge'
576 # yamllint disable-line rule:key-duplicates
579 git-url: '$GIT_URL/$GERRIT_PROJECT'
582 - lf-infra-gerrit-scm:
586 submodule-recursive: '{submodule-recursive}'
587 choosing-strategy: default
588 jenkins-ssh-credential: '{jenkins-ssh-credential}'
592 server-name: '{gerrit-server-name}'
593 trigger-on: '{obj:gerrit_merge_triggers}'
595 - project-compare-type: ANT
596 project-pattern: '{project}'
598 - branch-compare-type: ANT
599 branch-pattern: '**/{branch}'
600 file-paths: '{obj:gerrit_trigger_file_paths}'
603 name: '{project-name}-jjb-merge'
606 # yamllint disable-line rule:key-duplicates
609 #####################
610 # Job Configuration #
611 #####################
614 - lf-infra-properties:
616 build-days-to-keep: 7
618 url: '{github-url}/{github-org}/{project}'
621 - lf-infra-github-scm:
622 url: '{git-clone-url}{github-org}/{project}'
624 branch: 'refs/heads/{branch}'
625 submodule-recursive: '{submodule-recursive}'
626 choosing-strategy: default
627 jenkins-ssh-credential: '{jenkins-ssh-credential}'
633 - github-pull-request:
634 trigger-phrase: '^remerge$'
635 only-trigger-phrase: true
636 status-context: 'JJB Merge'
641 white-list: '{obj:github_pr_whitelist}'
642 admin-list: '{obj:github_pr_admin_list}'
643 included-regions: '{obj:github_included_regions}'
644 white-list-target-branches:
651 - lf_jjb_verify: &lf_jjb_verify
654 ######################
655 # Default parameters #
656 ######################
658 gerrit_verify_triggers:
659 - patchset-created-event:
661 exclude-trivial-rebase: false
662 exclude-no-code-change: false
663 - draft-published-event
664 - comment-added-contains-event:
665 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
667 #####################
668 # Job Configuration #
669 #####################
676 - shell: !include-raw-escape:
677 - ../shell/git-validate-jira-urls.sh
678 - ../shell/jjb-install.sh
679 - ../shell/jjb-verify-job.sh
680 - ../shell/jjb-check-unicode.sh
681 - ../shell/jjb-cleanup.sh
682 - lf-infra-gpg-verify-git-signature
685 name: '{project-name}-jjb-verify'
686 id: gerrit-jjb-verify
688 # yamllint disable-line rule:key-duplicates
691 ######################
692 # Default parameters #
693 ######################
695 git-url: '$GIT_URL/$GERRIT_PROJECT'
697 #####################
698 # Job Configuration #
699 #####################
702 - lf-infra-gerrit-scm:
704 refspec: '$GERRIT_REFSPEC'
705 branch: '$GERRIT_BRANCH'
706 submodule-recursive: '{submodule-recursive}'
707 choosing-strategy: gerrit
708 jenkins-ssh-credential: '{jenkins-ssh-credential}'
712 server-name: '{gerrit-server-name}'
713 trigger-on: '{obj:gerrit_verify_triggers}'
715 - project-compare-type: ANT
716 project-pattern: '{project}'
718 - branch-compare-type: ANT
719 branch-pattern: '**/{branch}'
720 file-paths: '{obj:gerrit_trigger_file_paths}'
723 name: '{project-name}-jjb-verify'
724 id: github-jjb-verify
726 # yamllint disable-line rule:key-duplicates
729 #####################
730 # Job Configuration #
731 #####################
734 - lf-infra-properties:
736 build-days-to-keep: 7
738 url: '{github-url}/{github-org}/{project}'
741 - lf-infra-github-scm:
742 url: '{git-clone-url}{github-org}/{project}'
743 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
745 submodule-recursive: '{submodule-recursive}'
746 choosing-strategy: default
747 jenkins-ssh-credential: '{jenkins-ssh-credential}'
750 - github-pull-request:
751 trigger-phrase: '^(recheck|reverify)$'
752 only-trigger-phrase: false
753 status-context: 'JJB Verify'
756 included-regions: '{obj:github_included_regions}'
757 white-list-target-branches:
760 ############################
761 # JJB Verify Upstream GJJB #
762 ############################
764 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
765 name: lf-jjb-verify-upstream-gjjb
767 #####################
768 # Job Configuration #
769 #####################
776 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
777 git cherry-pick FETCH_HEAD
779 - shell: !include-raw-escape:
780 - ../shell/git-validate-jira-urls.sh
781 - ../shell/jjb-install.sh
782 - ../shell/jjb-verify-job.sh
783 - ../shell/jjb-check-unicode.sh
784 - ../shell/jjb-cleanup.sh
785 - lf-infra-gpg-verify-git-signature
788 name: '{project-name}-jjb-verify-upstream-gjjb'
789 id: gerrit-jjb-verify-upstream-gjjb
791 # yamllint disable-line rule:key-duplicates
792 <<: *lf_jjb_verify_upstream_gjjb
794 ######################
795 # Default parameters #
796 ######################
798 git-url: '$GIT_URL/$PROJECT'
800 #####################
801 # Job Configuration #
802 #####################
805 - lf-infra-gerrit-scm:
809 submodule-recursive: true
810 choosing-strategy: default
811 jenkins-ssh-credential: '{jenkins-ssh-credential}'
815 server-name: 'LinuxFoundation'
817 - patchset-created-event:
819 exclude-trivial-rebase: false
820 exclude-no-code-change: false
821 - draft-published-event
822 - comment-added-contains-event:
823 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
825 - project-compare-type: ANT
826 project-pattern: 'releng/global-jjb'
828 - branch-compare-type: ANT
829 branch-pattern: '**/master'
831 gerrit-build-failed-codereview-value: -1
832 gerrit-build-failed-verified-value: 0
833 gerrit-build-successful-codereview-value: 1
834 gerrit-build-successful-verified-value: 0
840 - lf_license_check: &lf_license_check
841 name: lf-license-check
843 ######################
844 # Default parameters #
845 ######################
848 build-days-to-keep: 7
857 git-url: '$GIT_URL/$PROJECT'
858 github-url: 'https://github.com'
860 license-exclude-paths: ''
861 licenses-allowed: Apache-2.0,EPL-1.0,MIT
862 project-pattern: '**'
866 #####################
867 # Job Configuration #
868 #####################
870 project-type: freestyle
873 disabled: '{disable-job}'
876 - lf-infra-properties:
877 build-days-to-keep: '{build-days-to-keep}'
880 - lf-infra-parameters:
884 lftools-version: '{lftools-version}'
888 build-timeout: '{build-timeout}'
889 jenkins-ssh-credential: '{jenkins-ssh-credential}'
893 file-patterns: '{file-patterns}'
894 spdx-disable: '{spdx-disable}'
895 lhc-version: '{lhc-version}'
896 license-exclude-paths: '{license-exclude-paths}'
897 licenses-allowed: '{licenses-allowed}'
903 name: '{project-name}-license-check'
904 id: gerrit-license-check
905 <<: *lf_license_check
907 git-url: '$GIT_URL/$GERRIT_PROJECT'
910 - lf-infra-gerrit-scm:
912 refspec: '$GERRIT_REFSPEC'
913 branch: '$GERRIT_BRANCH'
914 # Submodules are out of the project's control
915 submodule-recursive: false
916 choosing-strategy: gerrit
917 jenkins-ssh-credential: '{jenkins-ssh-credential}'
921 server-name: '{gerrit-server-name}'
922 # Trigger should not be overridable as we want to always run
924 - patchset-created-event:
925 exclude-drafts: false
926 exclude-trivial-rebase: false
927 exclude-no-code-change: false
928 - draft-published-event
929 - comment-added-contains-event:
930 comment-contains-value: recheck$
932 - project-compare-type: ANT
933 project-pattern: '{project-pattern}'
935 - branch-compare-type: ANT
939 name: '{project-name}-license-check'
940 id: github-license-check
941 <<: *lf_license_check
944 - lf-infra-properties:
945 build-days-to-keep: '{build-days-to-keep}'
947 url: '{github-url}/{github-org}/{project}'
950 - lf-infra-github-scm:
951 url: '{git-clone-url}{github-org}/{project}'
952 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
954 # Submodules are out of the project's control
955 submodule-recursive: false
956 choosing-strategy: default
957 jenkins-ssh-credential: '{jenkins-ssh-credential}'
960 - github-pull-request:
961 trigger-phrase: '^recheck$'
962 only-trigger-phrase: false
963 status-context: 'License Check'
966 white-list-target-branches:
973 - lf_info_yaml_verify: &lf_info_yaml_verify
974 name: lf-info-yaml-verify
976 ######################
977 # Default parameters #
978 ######################
980 gerrit_verify_triggers:
981 - patchset-created-event:
983 exclude-trivial-rebase: false
984 exclude-no-code-change: false
985 - draft-published-event
986 - comment-added-contains-event:
987 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
989 #####################
990 # Job Configuration #
991 #####################
996 - shell: !include-raw-escape:
997 - ../shell/git-validate-info-yaml.sh
998 - ../shell/info-file-validate.sh
1001 name: '{project-name}-info-yaml-verify'
1002 id: gerrit-info-yaml-verify
1004 # yamllint disable-line rule:key-duplicates
1005 <<: *lf_info_yaml_verify
1007 git-url: '$GIT_URL/$GERRIT_PROJECT'
1010 - lf-infra-gerrit-scm:
1011 git-url: '{git-url}'
1012 refspec: '$GERRIT_REFSPEC'
1013 branch: '$GERRIT_BRANCH'
1014 submodule-recursive: '{submodule-recursive}'
1015 choosing-strategy: gerrit
1016 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1020 server-name: '{gerrit-server-name}'
1021 trigger-on: '{obj:gerrit_verify_triggers}'
1023 - project-compare-type: ANT
1024 project-pattern: '{project}'
1026 - branch-compare-type: ANT
1027 branch-pattern: '**/{branch}'
1029 - compare-type: REG_EXP
1030 pattern: 'INFO.yaml'
1033 name: '{project-name}-info-yaml-verify'
1034 id: github-info-yaml-verify
1036 # yamllint disable-line rule:key-duplicates
1037 <<: *lf_info_yaml_verify
1039 github-url: 'https://github.com'
1042 url: '{github-url}/{github-org}/{project}'
1045 - lf-infra-github-scm:
1046 url: '{git-clone-url}{github-org}/{project}'
1047 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1049 submodule-recursive: '{submodule-recursive}'
1050 choosing-strategy: default
1051 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1054 - github-pull-request:
1055 trigger-phrase: '^(recheck|reverify)$'
1056 only-trigger-phrase: false
1057 status-context: 'INFO File Verify'
1060 # included-regions MUST match gerrit file-paths
1061 included-regions: 'INFO.yaml'
1062 white-list-target-branches:
1069 - lf_openstack_cron: &lf_openstack_cron
1070 name: lf-openstack-cron
1072 ######################
1073 # Default parameters #
1074 ######################
1077 build-days-to-keep: 7
1081 git-url: '$GIT_URL/$PROJECT'
1082 github-url: 'https://github.com'
1083 openstack-cloud: vex
1086 #####################
1087 # Job Configuration #
1088 #####################
1090 project-type: freestyle
1091 node: '{build-node}'
1093 disabled: '{disable-job}'
1096 - lf-infra-properties:
1097 build-days-to-keep: '{build-days-to-keep}'
1100 - lf-infra-parameters:
1101 project: '{project}'
1104 lftools-version: '{lftools-version}'
1107 - lf-infra-wrappers:
1108 build-timeout: '{build-timeout}'
1109 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1110 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1111 - config-file-provider:
1113 - file-id: clouds-yaml
1114 target: '$HOME/.config/openstack/clouds.yaml'
1116 target: '$HOME/.npmrc'
1118 target: '$HOME/.config/pip/pip.conf'
1121 - timed: '{obj:cron}'
1125 properties-content: OS_CLOUD={openstack-cloud}
1126 - shell: !include-raw-escape: ../shell/openstack-install.sh
1127 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1133 name: '{project-name}-openstack-cron'
1134 id: gerrit-openstack-cron
1135 <<: *lf_openstack_cron
1138 - lf-infra-gerrit-scm:
1139 git-url: '{git-url}'
1140 refspec: 'refs/heads/{branch}'
1142 submodule-recursive: true
1143 choosing-strategy: default
1144 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1147 name: '{project-name}-openstack-cron'
1148 id: github-openstack-cron
1149 <<: *lf_openstack_cron
1152 - lf-infra-github-scm:
1153 url: '{git-clone-url}{github-org}/{project}'
1155 branch: 'refs/heads/{branch}'
1156 submodule-recursive: true
1157 choosing-strategy: default
1158 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1164 - lf_packer_merge: &lf_packer_merge
1165 name: lf-packer-merge
1167 ######################
1168 # Default parameters #
1169 ######################
1172 openstack-cloud: vex
1174 #####################
1175 # Job Configuration #
1176 #####################
1179 - lf-infra-parameters:
1180 project: '{project}'
1183 lftools-version: '{lftools-version}'
1184 - lf-packer-parameters:
1185 packer-version: '{packer-version}'
1188 - lf-infra-packer-build:
1189 openstack: '{openstack}'
1190 openstack-cloud: '{openstack-cloud}'
1191 packer-cloud-settings: '{packer-cloud-settings}'
1192 packer-version: '{packer-version}'
1193 platform: '{platforms}'
1194 template: '{templates}'
1197 name: '{project-name}-packer-merge-{platforms}-{templates}'
1198 id: gerrit-packer-merge
1199 <<: *lf_packer_common
1200 # yamllint disable-line rule:key-duplicates
1201 <<: *lf_packer_merge
1203 ######################
1204 # Default parameters #
1205 ######################
1207 git-url: '$GIT_URL/$GERRIT_PROJECT'
1209 gerrit_merge_triggers:
1210 - change-merged-event
1211 - comment-added-contains-event:
1212 comment-contains-value: remerge$
1214 #####################
1215 # Job Configuration #
1216 #####################
1219 - lf-infra-gerrit-scm:
1220 git-url: '{git-url}'
1221 refspec: '$GERRIT_REFSPEC'
1222 branch: '$GERRIT_BRANCH'
1223 submodule-recursive: '{submodule-recursive}'
1224 choosing-strategy: gerrit
1225 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1228 - timed: '{obj:cron}'
1230 server-name: '{gerrit-server-name}'
1231 trigger-on: '{obj:gerrit_merge_triggers}'
1233 - project-compare-type: ANT
1234 project-pattern: '{project}'
1236 - branch-compare-type: ANT
1237 branch-pattern: '**/{branch}'
1239 - compare-type: REG_EXP
1240 pattern: 'packer\/provision\/.*\.sh'
1241 - compare-type: REG_EXP
1242 pattern: 'packer\/provision\/.*\.bat'
1243 - compare-type: REG_EXP
1244 pattern: 'packer\/provision\/.*\.ps1'
1245 - compare-type: REG_EXP
1246 pattern: 'packer\/provision\/{templates}\.yaml'
1247 - compare-type: REG_EXP
1248 pattern: 'packer\/provision\/local-{templates}\.yaml'
1249 - compare-type: REG_EXP
1250 pattern: 'packer\/templates\/{templates}\.json'
1251 - compare-type: REG_EXP
1252 pattern: 'packer\/vars\/{platforms}\.json'
1255 name: '{project-name}-packer-merge-{platforms}-{templates}'
1256 id: github-packer-merge
1257 <<: *lf_packer_common
1258 # yamllint disable-line rule:key-duplicates
1259 <<: *lf_packer_merge
1261 #####################
1262 # Job Configuration #
1263 #####################
1266 - lf-infra-properties:
1267 project: '{project}'
1268 build-days-to-keep: 7
1270 url: '{github-url}/{github-org}/{project}'
1273 - lf-infra-github-scm:
1274 url: '{git-clone-url}{github-org}/{project}'
1276 branch: 'refs/heads/{branch}'
1277 submodule-recursive: '{submodule-recursive}'
1278 choosing-strategy: default
1279 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1282 - timed: '{obj:cron}'
1287 - github-pull-request:
1288 trigger-phrase: '^remerge$'
1289 only-trigger-phrase: true
1290 status-context: 'Packer {platforms}-{templates} Merge'
1295 white-list: '{obj:github_pr_whitelist}'
1296 admin-list: '{obj:github_pr_admin_list}'
1297 # included-regions MUST match Gerrit Trigger file-paths
1299 - 'packer\/provision\/.*\.sh'
1300 - 'packer\/provision\/.*\.bat'
1301 - 'packer\/provision\/.*\.ps1'
1302 - 'packer\/provision\/{templates}\.yaml'
1303 - 'packer\/provision\/local-{templates}\.yaml'
1304 - 'packer\/templates\/{templates}\.json'
1305 - 'packer\/vars\/{platforms}\.json'
1306 white-list-target-branches:
1313 - lf_packer_verify: &lf_packer_verify
1314 name: lf-packer-verify
1316 ######################
1317 # Default parameters #
1318 ######################
1322 openstack-cloud: vex
1324 gerrit_verify_triggers:
1325 - patchset-created-event:
1326 exclude-drafts: true
1327 exclude-trivial-rebase: false
1328 exclude-no-code-change: false
1329 - draft-published-event
1330 - comment-added-contains-event:
1331 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1333 gerrit_trigger_file_paths:
1334 - compare-type: REG_EXP
1335 pattern: 'packer\/.*'
1337 # github_included_regions MUST match gerrit_trigger_file_paths
1338 github_included_regions:
1341 #####################
1342 # Job Configuration #
1343 #####################
1348 - lf-infra-packer-validate:
1349 openstack: '{openstack}'
1350 openstack-cloud: '{openstack-cloud}'
1351 packer-cloud-settings: '{packer-cloud-settings}'
1352 packer-version: '{packer-version}'
1355 name: '{project-name}-packer-verify'
1356 id: gerrit-packer-verify
1357 <<: *lf_packer_common
1358 # yamllint disable-line rule:key-duplicates
1359 <<: *lf_packer_verify
1361 ######################
1362 # Default parameters #
1363 ######################
1365 git-url: '$GIT_URL/$GERRIT_PROJECT'
1367 #####################
1368 # Job Configuration #
1369 #####################
1372 - lf-infra-gerrit-scm:
1373 git-url: '{git-url}'
1374 refspec: '$GERRIT_REFSPEC'
1375 branch: '$GERRIT_BRANCH'
1376 submodule-recursive: '{submodule-recursive}'
1377 choosing-strategy: gerrit
1378 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1382 server-name: '{gerrit-server-name}'
1383 trigger-on: '{obj:gerrit_verify_triggers}'
1385 - project-compare-type: ANT
1386 project-pattern: '{project}'
1388 - branch-compare-type: ANT
1389 branch-pattern: '**/{branch}'
1390 file-paths: '{obj:gerrit_trigger_file_paths}'
1393 name: '{project-name}-packer-verify'
1394 id: github-packer-verify
1395 <<: *lf_packer_common
1396 # yamllint disable-line rule:key-duplicates
1397 <<: *lf_packer_verify
1399 #####################
1400 # Job Configuration #
1401 #####################
1404 - lf-infra-properties:
1405 project: '{project}'
1406 build-days-to-keep: 7
1408 url: '{github-url}/{github-org}/{project}'
1411 - lf-infra-github-scm:
1412 url: '{git-clone-url}{github-org}/{project}'
1413 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1415 submodule-recursive: '{submodule-recursive}'
1416 choosing-strategy: default
1417 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1420 - github-pull-request:
1421 trigger-phrase: '^(recheck|reverify)$'
1422 only-trigger-phrase: false
1423 status-context: 'Packer Verify'
1426 included-regions: '{obj:github_included_regions}'
1427 white-list-target-branches: