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
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 -f "$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 -f "$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}'
305 - lf-jenkins-cfg-global-vars:
306 jenkins-silos: '{jenkins-silos}'
307 - lf-jenkins-cfg-clouds:
308 jenkins-silos: '{jenkins-silos}'
314 name: '{project-name}-jenkins-cfg-merge'
315 id: gerrit-jenkins-cfg-merge
316 <<: *lf_jenkins_cfg_merge
319 - lf-infra-gerrit-scm:
321 refspec: 'refs/heads/{branch}'
323 submodule-recursive: true
324 choosing-strategy: default
325 jenkins-ssh-credential: '{jenkins-ssh-credential}'
328 - timed: '{obj:cron}'
330 server-name: '{gerrit-server-name}'
331 trigger-on: '{obj:gerrit_merge_triggers}'
333 - project-compare-type: ANT
334 project-pattern: '{project}'
336 - branch-compare-type: ANT
337 branch-pattern: '**/{branch}'
338 file-paths: '{obj:gerrit_trigger_file_paths}'
341 name: '{project-name}-jenkins-cfg-merge'
342 id: github-jenkins-cfg-merge
343 <<: *lf_jenkins_cfg_merge
346 - lf-infra-properties:
348 build-days-to-keep: 1
350 url: '{github-url}/{github-org}/{project}'
353 - lf-infra-github-scm:
354 url: '{git-clone-url}{github-org}/{project}'
356 branch: 'refs/heads/{branch}'
357 submodule-recursive: true
358 choosing-strategy: default
359 jenkins-ssh-credential: '{jenkins-ssh-credential}'
362 - timed: '{obj:cron}'
366 - github-pull-request:
367 trigger-phrase: '^remerge$'
368 only-trigger-phrase: true
369 status-context: 'Jenkins CFG Merge'
374 white-list: '{obj:github_pr_whitelist}'
375 admin-list: '{obj:github_pr_admin_list}'
376 included-regions: '{obj:github_included_regions}'
377 white-list-target-branches:
381 ###########################
382 # JENKINS SANDBOX CLEANUP #
383 ###########################
385 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
386 name: lf-jenkins-sandbox-cleanup
388 ######################
389 # Default parameters #
390 ######################
393 # Run every Saturday at 08:00 UTC
397 #####################
398 # Job Configuration #
399 #####################
401 project-type: freestyle
404 disabled: '{disable-job}'
407 - lf-infra-jjb-parameters:
408 jjb-version: '{jjb-version}'
411 - timed: '{obj:cron}'
415 - shell: !include-raw-escape:
416 - ../shell/jjb-install.sh
417 - ../shell/jenkins-sandbox-cleanup.sh
418 - ../shell/jjb-cleanup.sh
421 name: '{project-name}-jenkins-sandbox-cleanup'
422 id: gerrit-jenkins-sandbox-cleanup
424 # yamllint disable-line rule:key-duplicates
425 <<: *lf_jenkins_sandbox_cleanup
428 name: '{project-name}-jenkins-sandbox-cleanup'
429 id: github-jenkins-sandbox-cleanup
431 # yamllint disable-line rule:key-duplicates
432 <<: *lf_jenkins_sandbox_cleanup
439 - lf_jjb_deploy_job: &lf_jjb_deploy_job
440 name: lf-jjb-deploy-job
442 ######################
443 # Default parameters #
444 ######################
448 # jjb-deploy should always clone $PROJECT regardless of what
449 # $GERRIT_PROJECT triggered the job.
450 git-url: '$GIT_URL/$PROJECT'
451 github-url: 'https://github.com'
453 gerrit_jjb_deploy_job_triggers:
454 - comment-added-contains-event:
455 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
457 #####################
458 # Job Configuration #
459 #####################
461 project-type: freestyle
464 disabled: '{disable-job}'
467 - lf-infra-properties:
469 build-days-to-keep: 1
472 - lf-infra-parameters:
476 lftools-version: '{lftools-version}'
481 jenkins-ssh-credential: '{jenkins-ssh-credential}'
485 pip-packages: jenkins-job-builder
486 - lf-infra-jjbini-sandbox
487 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
493 name: '{project-name}-jjb-deploy-job'
494 id: gerrit-jjb-deploy-job
495 <<: *lf_jjb_deploy_job
498 - lf-infra-gerrit-scm:
500 refspec: 'refs/heads/{branch}'
502 submodule-recursive: true
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 choosing-strategy: default
541 jenkins-ssh-credential: '{jenkins-ssh-credential}'
544 - github-pull-request:
545 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
546 only-trigger-phrase: true
547 status-context: 'JJB Deploy Job'
550 white-list-target-branches:
557 - lf_jjb_merge: &lf_jjb_merge
560 ######################
561 # Default parameters #
562 ######################
564 gerrit_merge_triggers:
565 - change-merged-event
566 - comment-added-contains-event:
567 comment-contains-value: remerge$
569 #####################
570 # Job Configuration #
571 #####################
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 #####################
685 - shell: !include-raw-escape:
686 - ../shell/git-validate-jira-urls.sh
687 - ../shell/jjb-install.sh
688 - ../shell/jjb-verify-job.sh
689 - ../shell/jjb-check-unicode.sh
690 - ../shell/jjb-cleanup.sh
691 - lf-infra-gpg-verify-git-signature
694 name: '{project-name}-jjb-verify'
695 id: gerrit-jjb-verify
697 # yamllint disable-line rule:key-duplicates
700 ######################
701 # Default parameters #
702 ######################
704 git-url: '$GIT_URL/$GERRIT_PROJECT'
706 #####################
707 # Job Configuration #
708 #####################
711 - lf-infra-gerrit-scm:
713 refspec: '$GERRIT_REFSPEC'
714 branch: '$GERRIT_BRANCH'
715 submodule-recursive: '{submodule-recursive}'
716 choosing-strategy: gerrit
717 jenkins-ssh-credential: '{jenkins-ssh-credential}'
721 server-name: '{gerrit-server-name}'
722 trigger-on: '{obj:gerrit_verify_triggers}'
724 - project-compare-type: ANT
725 project-pattern: '{project}'
727 - branch-compare-type: ANT
728 branch-pattern: '**/{branch}'
729 file-paths: '{obj:gerrit_trigger_file_paths}'
732 name: '{project-name}-jjb-verify'
733 id: github-jjb-verify
735 # yamllint disable-line rule:key-duplicates
738 #####################
739 # Job Configuration #
740 #####################
743 - lf-infra-properties:
745 build-days-to-keep: 7
747 url: '{github-url}/{github-org}/{project}'
750 - lf-infra-github-scm:
751 url: '{git-clone-url}{github-org}/{project}'
752 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
754 submodule-recursive: '{submodule-recursive}'
755 choosing-strategy: default
756 jenkins-ssh-credential: '{jenkins-ssh-credential}'
759 - github-pull-request:
760 trigger-phrase: '^(recheck|reverify)$'
761 only-trigger-phrase: false
762 status-context: 'JJB Verify'
765 included-regions: '{obj:github_included_regions}'
766 white-list-target-branches:
769 ############################
770 # JJB Verify Upstream GJJB #
771 ############################
773 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
774 name: lf-jjb-verify-upstream-gjjb
776 #####################
777 # Job Configuration #
778 #####################
785 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
786 git cherry-pick FETCH_HEAD
788 - shell: !include-raw-escape:
789 - ../shell/git-validate-jira-urls.sh
790 - ../shell/jjb-install.sh
791 - ../shell/jjb-verify-job.sh
792 - ../shell/jjb-check-unicode.sh
793 - ../shell/jjb-cleanup.sh
794 - lf-infra-gpg-verify-git-signature
797 name: '{project-name}-jjb-verify-upstream-gjjb'
798 id: gerrit-jjb-verify-upstream-gjjb
800 # yamllint disable-line rule:key-duplicates
801 <<: *lf_jjb_verify_upstream_gjjb
803 ######################
804 # Default parameters #
805 ######################
807 git-url: '$GIT_URL/$PROJECT'
809 #####################
810 # Job Configuration #
811 #####################
814 - lf-infra-gerrit-scm:
818 submodule-recursive: true
819 choosing-strategy: default
820 jenkins-ssh-credential: '{jenkins-ssh-credential}'
824 server-name: 'LinuxFoundation'
826 - patchset-created-event:
828 exclude-trivial-rebase: false
829 exclude-no-code-change: false
830 - draft-published-event
831 - comment-added-contains-event:
832 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
834 - project-compare-type: ANT
835 project-pattern: 'releng/global-jjb'
837 - branch-compare-type: ANT
838 branch-pattern: '**/master'
840 gerrit-build-failed-codereview-value: -1
841 gerrit-build-failed-verified-value: 0
842 gerrit-build-successful-codereview-value: 1
843 gerrit-build-successful-verified-value: 0
849 - lf_license_check: &lf_license_check
850 name: lf-license-check
852 ######################
853 # Default parameters #
854 ######################
857 build-days-to-keep: 7
866 git-url: '$GIT_URL/$PROJECT'
867 github-url: 'https://github.com'
869 license-exclude-paths: ''
870 licenses-allowed: Apache-2.0,EPL-1.0,MIT
871 project-pattern: '**'
875 #####################
876 # Job Configuration #
877 #####################
879 project-type: freestyle
882 disabled: '{disable-job}'
885 - lf-infra-properties:
886 build-days-to-keep: '{build-days-to-keep}'
889 - lf-infra-parameters:
893 lftools-version: '{lftools-version}'
897 build-timeout: '{build-timeout}'
898 jenkins-ssh-credential: '{jenkins-ssh-credential}'
902 file-patterns: '{file-patterns}'
903 spdx-disable: '{spdx-disable}'
904 lhc-version: '{lhc-version}'
905 license-exclude-paths: '{license-exclude-paths}'
906 licenses-allowed: '{licenses-allowed}'
912 name: '{project-name}-license-check'
913 id: gerrit-license-check
914 <<: *lf_license_check
916 git-url: '$GIT_URL/$GERRIT_PROJECT'
919 - lf-infra-gerrit-scm:
921 refspec: '$GERRIT_REFSPEC'
922 branch: '$GERRIT_BRANCH'
923 # Submodules are out of the project's control
924 submodule-recursive: false
925 choosing-strategy: gerrit
926 jenkins-ssh-credential: '{jenkins-ssh-credential}'
930 server-name: '{gerrit-server-name}'
931 # Trigger should not be overridable as we want to always run
933 - patchset-created-event:
934 exclude-drafts: false
935 exclude-trivial-rebase: false
936 exclude-no-code-change: false
937 - draft-published-event
938 - comment-added-contains-event:
939 comment-contains-value: recheck$
941 - project-compare-type: ANT
942 project-pattern: '{project-pattern}'
944 - branch-compare-type: ANT
948 name: '{project-name}-license-check'
949 id: github-license-check
950 <<: *lf_license_check
953 - lf-infra-properties:
954 build-days-to-keep: '{build-days-to-keep}'
956 url: '{github-url}/{github-org}/{project}'
959 - lf-infra-github-scm:
960 url: '{git-clone-url}{github-org}/{project}'
961 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
963 # Submodules are out of the project's control
964 submodule-recursive: false
965 choosing-strategy: default
966 jenkins-ssh-credential: '{jenkins-ssh-credential}'
969 - github-pull-request:
970 trigger-phrase: '^recheck$'
971 only-trigger-phrase: false
972 status-context: 'License Check'
975 white-list-target-branches:
982 - lf_info_yaml_verify: &lf_info_yaml_verify
983 name: lf-info-yaml-verify
985 ######################
986 # Default parameters #
987 ######################
989 gerrit_verify_triggers:
990 - patchset-created-event:
992 exclude-trivial-rebase: false
993 exclude-no-code-change: false
994 - draft-published-event
995 - comment-added-contains-event:
996 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
998 #####################
999 # Job Configuration #
1000 #####################
1005 - shell: !include-raw-escape:
1006 - ../shell/git-validate-info-yaml.sh
1007 - ../shell/info-file-validate.sh
1010 name: '{project-name}-info-yaml-verify'
1011 id: gerrit-info-yaml-verify
1013 # yamllint disable-line rule:key-duplicates
1014 <<: *lf_info_yaml_verify
1016 git-url: '$GIT_URL/$GERRIT_PROJECT'
1019 - lf-infra-gerrit-scm:
1020 git-url: '{git-url}'
1021 refspec: '$GERRIT_REFSPEC'
1022 branch: '$GERRIT_BRANCH'
1023 submodule-recursive: '{submodule-recursive}'
1024 choosing-strategy: gerrit
1025 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1029 server-name: '{gerrit-server-name}'
1030 trigger-on: '{obj:gerrit_verify_triggers}'
1032 - project-compare-type: ANT
1033 project-pattern: '{project}'
1035 - branch-compare-type: ANT
1036 branch-pattern: '**/{branch}'
1038 - compare-type: REG_EXP
1039 pattern: 'INFO.yaml'
1042 name: '{project-name}-info-yaml-verify'
1043 id: github-info-yaml-verify
1045 # yamllint disable-line rule:key-duplicates
1046 <<: *lf_info_yaml_verify
1048 github-url: 'https://github.com'
1051 url: '{github-url}/{github-org}/{project}'
1054 - lf-infra-github-scm:
1055 url: '{git-clone-url}{github-org}/{project}'
1056 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1058 submodule-recursive: '{submodule-recursive}'
1059 choosing-strategy: default
1060 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1063 - github-pull-request:
1064 trigger-phrase: '^(recheck|reverify)$'
1065 only-trigger-phrase: false
1066 status-context: 'INFO File Verify'
1069 # included-regions MUST match gerrit file-paths
1070 included-regions: 'INFO.yaml'
1071 white-list-target-branches:
1078 - lf_openstack_cron: &lf_openstack_cron
1079 name: lf-openstack-cron
1081 ######################
1082 # Default parameters #
1083 ######################
1086 build-days-to-keep: 7
1090 git-url: '$GIT_URL/$PROJECT'
1091 github-url: 'https://github.com'
1092 openstack-cloud: vex
1095 #####################
1096 # Job Configuration #
1097 #####################
1099 project-type: freestyle
1100 node: '{build-node}'
1102 disabled: '{disable-job}'
1105 - lf-infra-properties:
1106 build-days-to-keep: '{build-days-to-keep}'
1109 - lf-infra-parameters:
1110 project: '{project}'
1113 lftools-version: '{lftools-version}'
1116 - lf-infra-wrappers:
1117 build-timeout: '{build-timeout}'
1118 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1119 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1120 - config-file-provider:
1122 - file-id: clouds-yaml
1123 target: '$HOME/.config/openstack/clouds.yaml'
1125 target: '$HOME/.npmrc'
1127 target: '$HOME/.config/pip/pip.conf'
1130 - timed: '{obj:cron}'
1134 properties-content: OS_CLOUD={openstack-cloud}
1135 - shell: !include-raw-escape: ../shell/openstack-install.sh
1136 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1142 name: '{project-name}-openstack-cron'
1143 id: gerrit-openstack-cron
1144 <<: *lf_openstack_cron
1147 - lf-infra-gerrit-scm:
1148 git-url: '{git-url}'
1149 refspec: 'refs/heads/{branch}'
1151 submodule-recursive: true
1152 choosing-strategy: default
1153 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1156 name: '{project-name}-openstack-cron'
1157 id: github-openstack-cron
1158 <<: *lf_openstack_cron
1161 - lf-infra-github-scm:
1162 url: '{git-clone-url}{github-org}/{project}'
1164 branch: 'refs/heads/{branch}'
1165 submodule-recursive: true
1166 choosing-strategy: default
1167 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1173 - lf_packer_merge: &lf_packer_merge
1174 name: lf-packer-merge
1176 ######################
1177 # Default parameters #
1178 ######################
1181 openstack-cloud: vex
1183 #####################
1184 # Job Configuration #
1185 #####################
1188 - lf-infra-parameters:
1189 project: '{project}'
1192 lftools-version: '{lftools-version}'
1193 - lf-packer-parameters:
1194 packer-version: '{packer-version}'
1197 - lf-infra-packer-build:
1198 openstack: '{openstack}'
1199 openstack-cloud: '{openstack-cloud}'
1200 packer-cloud-settings: '{packer-cloud-settings}'
1201 packer-version: '{packer-version}'
1202 platform: '{platforms}'
1203 template: '{templates}'
1206 name: '{project-name}-packer-merge-{platforms}-{templates}'
1207 id: gerrit-packer-merge
1208 <<: *lf_packer_common
1209 # yamllint disable-line rule:key-duplicates
1210 <<: *lf_packer_merge
1212 ######################
1213 # Default parameters #
1214 ######################
1216 git-url: '$GIT_URL/$GERRIT_PROJECT'
1218 gerrit_merge_triggers:
1219 - change-merged-event
1220 - comment-added-contains-event:
1221 comment-contains-value: remerge$
1223 #####################
1224 # Job Configuration #
1225 #####################
1228 - lf-infra-gerrit-scm:
1229 git-url: '{git-url}'
1230 refspec: '$GERRIT_REFSPEC'
1231 branch: '$GERRIT_BRANCH'
1232 submodule-recursive: '{submodule-recursive}'
1233 choosing-strategy: gerrit
1234 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1237 - timed: '{obj:cron}'
1239 server-name: '{gerrit-server-name}'
1240 trigger-on: '{obj:gerrit_merge_triggers}'
1242 - project-compare-type: ANT
1243 project-pattern: '{project}'
1245 - branch-compare-type: ANT
1246 branch-pattern: '**/{branch}'
1248 - compare-type: REG_EXP
1249 pattern: 'packer\/provision\/.*\.sh'
1250 - compare-type: REG_EXP
1251 pattern: 'packer\/provision\/.*\.bat'
1252 - compare-type: REG_EXP
1253 pattern: 'packer\/provision\/.*\.ps1'
1254 - compare-type: REG_EXP
1255 pattern: 'packer\/provision\/{templates}\.yaml'
1256 - compare-type: REG_EXP
1257 pattern: 'packer\/provision\/local-{templates}\.yaml'
1258 - compare-type: REG_EXP
1259 pattern: 'packer\/templates\/{templates}\.json'
1260 - compare-type: REG_EXP
1261 pattern: 'packer\/vars\/{platforms}\.json'
1264 name: '{project-name}-packer-merge-{platforms}-{templates}'
1265 id: github-packer-merge
1266 <<: *lf_packer_common
1267 # yamllint disable-line rule:key-duplicates
1268 <<: *lf_packer_merge
1270 #####################
1271 # Job Configuration #
1272 #####################
1275 - lf-infra-properties:
1276 project: '{project}'
1277 build-days-to-keep: 7
1279 url: '{github-url}/{github-org}/{project}'
1282 - lf-infra-github-scm:
1283 url: '{git-clone-url}{github-org}/{project}'
1285 branch: 'refs/heads/{branch}'
1286 submodule-recursive: '{submodule-recursive}'
1287 choosing-strategy: default
1288 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1291 - timed: '{obj:cron}'
1296 - github-pull-request:
1297 trigger-phrase: '^remerge$'
1298 only-trigger-phrase: true
1299 status-context: 'Packer {platforms}-{templates} Merge'
1304 white-list: '{obj:github_pr_whitelist}'
1305 admin-list: '{obj:github_pr_admin_list}'
1306 # included-regions MUST match Gerrit Trigger file-paths
1308 - 'packer\/provision\/.*\.sh'
1309 - 'packer\/provision\/.*\.bat'
1310 - 'packer\/provision\/.*\.ps1'
1311 - 'packer\/provision\/{templates}\.yaml'
1312 - 'packer\/provision\/local-{templates}\.yaml'
1313 - 'packer\/templates\/{templates}\.json'
1314 - 'packer\/vars\/{platforms}\.json'
1315 white-list-target-branches:
1322 - lf_packer_verify: &lf_packer_verify
1323 name: lf-packer-verify
1325 ######################
1326 # Default parameters #
1327 ######################
1331 gerrit_verify_triggers:
1332 - patchset-created-event:
1333 exclude-drafts: true
1334 exclude-trivial-rebase: false
1335 exclude-no-code-change: false
1336 - draft-published-event
1337 - comment-added-contains-event:
1338 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1340 gerrit_trigger_file_paths:
1341 - compare-type: REG_EXP
1342 pattern: 'packer\/.*'
1344 # github_included_regions MUST match gerrit_trigger_file_paths
1345 github_included_regions:
1348 #####################
1349 # Job Configuration #
1350 #####################
1355 - lf-infra-packer-validate:
1356 packer-cloud-settings: '{packer-cloud-settings}'
1357 packer-version: '{packer-version}'
1360 name: '{project-name}-packer-verify'
1361 id: gerrit-packer-verify
1362 <<: *lf_packer_common
1363 # yamllint disable-line rule:key-duplicates
1364 <<: *lf_packer_verify
1366 ######################
1367 # Default parameters #
1368 ######################
1370 git-url: '$GIT_URL/$GERRIT_PROJECT'
1372 #####################
1373 # Job Configuration #
1374 #####################
1377 - lf-infra-gerrit-scm:
1378 git-url: '{git-url}'
1379 refspec: '$GERRIT_REFSPEC'
1380 branch: '$GERRIT_BRANCH'
1381 submodule-recursive: '{submodule-recursive}'
1382 choosing-strategy: gerrit
1383 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1387 server-name: '{gerrit-server-name}'
1388 trigger-on: '{obj:gerrit_verify_triggers}'
1390 - project-compare-type: ANT
1391 project-pattern: '{project}'
1393 - branch-compare-type: ANT
1394 branch-pattern: '**/{branch}'
1395 file-paths: '{obj:gerrit_trigger_file_paths}'
1398 name: '{project-name}-packer-verify'
1399 id: github-packer-verify
1400 <<: *lf_packer_common
1401 # yamllint disable-line rule:key-duplicates
1402 <<: *lf_packer_verify
1404 #####################
1405 # Job Configuration #
1406 #####################
1409 - lf-infra-properties:
1410 project: '{project}'
1411 build-days-to-keep: 7
1413 url: '{github-url}/{github-org}/{project}'
1416 - lf-infra-github-scm:
1417 url: '{git-clone-url}{github-org}/{project}'
1418 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1420 submodule-recursive: '{submodule-recursive}'
1421 choosing-strategy: default
1422 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1425 - github-pull-request:
1426 trigger-phrase: '^(recheck|reverify)$'
1427 only-trigger-phrase: false
1428 status-context: 'Packer Verify'
1431 included-regions: '{obj:github_included_regions}'
1432 white-list-target-branches: