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 default: '{jjb-cache}'
83 description: Jenkins Job Builder cache location.
86 name: lf-packer-parameters
90 default: '{packer-version}'
91 description: Packer version to download and install.
93 - lf_jjb_common: &lf_jjb_common
96 ######################
97 # Default parameters #
98 ######################
103 github-url: 'https://github.com'
104 jjb-cache: '$HOME/.cache/jenkins_jobs'
107 submodule-recursive: true
108 submodule-timeout: 10
110 gerrit_trigger_file_paths:
111 - compare-type: REG_EXP
113 - compare-type: REG_EXP
114 pattern: 'global-jjb'
115 - compare-type: REG_EXP
118 # github_included_regions MUST match gerrit_trigger_file_paths
119 github_included_regions:
124 #####################
125 # Job Configuration #
126 #####################
128 project-type: freestyle
130 disabled: '{disable-job}'
133 - lf-infra-properties:
135 build-days-to-keep: 7
138 - lf-infra-parameters:
142 lftools-version: '{lftools-version}'
143 - lf-infra-jjb-parameters:
144 jjb-cache: '{jjb-cache}'
145 jjb-version: '{jjb-version}'
149 build-timeout: '{build-timeout}'
150 jenkins-ssh-credential: '{jenkins-ssh-credential}'
155 ######################
156 # Gerrit Branch Lock #
157 ######################
160 name: '{project-name}-gerrit-branch-lock-{stream}'
161 id: gerrit-branch-lock
163 ######################
164 # Default parameters #
165 ######################
169 git-url: '$GIT_URL/$GERRIT_PROJECT'
171 submodule-timeout: 10
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 submodule-timeout: '{submodule-timeout}'
208 choosing-strategy: default
209 jenkins-ssh-credential: '{jenkins-ssh-credential}'
213 server-name: '{gerrit-server-name}'
214 trigger-on: '{obj:gerrit_merge_triggers}'
216 - project-compare-type: ANT
217 project-pattern: '{project}'
219 - branch-compare-type: ANT
220 branch-pattern: '**/{branch}'
223 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
229 ##########################################
230 # Jenkins Configuration Management Merge #
231 ##########################################
234 name: lf-jenkins-cfg-clouds
238 properties-content: 'jenkins_silos={jenkins-silos}'
239 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
240 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
243 name: lf-jenkins-cfg-global-vars
247 properties-content: 'jenkins_silos={jenkins-silos}'
248 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
249 - shell: rm -f "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
251 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
252 name: lf-jenkins-cfg-merge
254 ######################
255 # Default parameters #
256 ######################
261 git-url: '$GIT_URL/$GERRIT_PROJECT'
262 github-url: 'https://github.com'
263 jenkins-silos: production sandbox
264 submodule-timeout: 10
266 gerrit_merge_triggers:
267 - change-merged-event
268 - comment-added-contains-event:
269 comment-contains-value: remerge$
271 gerrit_trigger_file_paths:
272 - compare-type: REG_EXP
273 pattern: 'jenkins-config\/.*'
275 # github_included_regions MUST match gerrit_trigger_file_paths
276 github_included_regions:
277 - 'jenkins-config\/.*'
279 #####################
280 # Job Configuration #
281 #####################
283 project-type: freestyle
286 disabled: '{disable-job}'
289 - lf-infra-properties:
291 build-days-to-keep: 1
294 - lf-infra-parameters:
298 lftools-version: '{lftools-version}'
303 jenkins-ssh-credential: '{jenkins-ssh-credential}'
307 - lf-jenkins-cfg-global-vars:
308 jenkins-silos: '{jenkins-silos}'
309 - lf-jenkins-cfg-clouds:
310 jenkins-silos: '{jenkins-silos}'
316 name: '{project-name}-jenkins-cfg-merge'
317 id: gerrit-jenkins-cfg-merge
318 <<: *lf_jenkins_cfg_merge
321 - lf-infra-gerrit-scm:
323 refspec: 'refs/heads/{branch}'
325 submodule-recursive: true
326 submodule-timeout: '{submodule-timeout}'
327 choosing-strategy: default
328 jenkins-ssh-credential: '{jenkins-ssh-credential}'
331 - timed: '{obj:cron}'
333 server-name: '{gerrit-server-name}'
334 trigger-on: '{obj:gerrit_merge_triggers}'
336 - project-compare-type: ANT
337 project-pattern: '{project}'
339 - branch-compare-type: ANT
340 branch-pattern: '**/{branch}'
341 file-paths: '{obj:gerrit_trigger_file_paths}'
344 name: '{project-name}-jenkins-cfg-merge'
345 id: github-jenkins-cfg-merge
346 <<: *lf_jenkins_cfg_merge
349 - lf-infra-properties:
351 build-days-to-keep: 1
353 url: '{github-url}/{github-org}/{project}'
356 - lf-infra-github-scm:
357 url: '{git-clone-url}{github-org}/{project}'
359 branch: 'refs/heads/{branch}'
360 submodule-recursive: true
361 submodule-timeout: '{submodule-timeout}'
362 choosing-strategy: default
363 jenkins-ssh-credential: '{jenkins-ssh-credential}'
366 - timed: '{obj:cron}'
370 - github-pull-request:
371 trigger-phrase: '^remerge$'
372 only-trigger-phrase: true
373 status-context: 'Jenkins CFG Merge'
378 white-list: '{obj:github_pr_whitelist}'
379 admin-list: '{obj:github_pr_admin_list}'
380 included-regions: '{obj:github_included_regions}'
381 white-list-target-branches:
385 ###########################
386 # JENKINS SANDBOX CLEANUP #
387 ###########################
389 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
390 name: lf-jenkins-sandbox-cleanup
392 ######################
393 # Default parameters #
394 ######################
397 # Run every Saturday at 08:00 UTC
401 #####################
402 # Job Configuration #
403 #####################
405 project-type: freestyle
408 disabled: '{disable-job}'
411 - lf-infra-jjb-parameters:
412 jjb-cache: '{jjb-cache}'
413 jjb-version: '{jjb-version}'
416 - timed: '{obj:cron}'
420 - shell: !include-raw-escape:
421 - ../shell/jjb-install.sh
422 - ../shell/jenkins-sandbox-cleanup.sh
423 - ../shell/jjb-cleanup.sh
426 name: '{project-name}-jenkins-sandbox-cleanup'
427 id: gerrit-jenkins-sandbox-cleanup
429 # yamllint disable-line rule:key-duplicates
430 <<: *lf_jenkins_sandbox_cleanup
433 name: '{project-name}-jenkins-sandbox-cleanup'
434 id: github-jenkins-sandbox-cleanup
436 # yamllint disable-line rule:key-duplicates
437 <<: *lf_jenkins_sandbox_cleanup
444 - lf_jjb_deploy_job: &lf_jjb_deploy_job
445 name: lf-jjb-deploy-job
447 ######################
448 # Default parameters #
449 ######################
453 # jjb-deploy should always clone $PROJECT regardless of what
454 # $GERRIT_PROJECT triggered the job.
455 git-url: '$GIT_URL/$PROJECT'
456 github-url: 'https://github.com'
458 submodule-timeout: 10
459 gerrit_jjb_deploy_job_triggers:
460 - comment-added-contains-event:
461 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
463 #####################
464 # Job Configuration #
465 #####################
467 project-type: freestyle
470 disabled: '{disable-job}'
473 - lf-infra-properties:
475 build-days-to-keep: 1
478 - lf-infra-parameters:
482 lftools-version: '{lftools-version}'
487 jenkins-ssh-credential: '{jenkins-ssh-credential}'
491 pip-packages: jenkins-job-builder
492 - lf-infra-jjbini-sandbox
493 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
499 name: '{project-name}-jjb-deploy-job'
500 id: gerrit-jjb-deploy-job
501 <<: *lf_jjb_deploy_job
504 - lf-infra-gerrit-scm:
506 refspec: 'refs/heads/{branch}'
508 submodule-recursive: true
509 submodule-timeout: '{submodule-timeout}'
510 choosing-strategy: default
511 jenkins-ssh-credential: '{jenkins-ssh-credential}'
515 server-name: '{gerrit-server-name}'
516 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
518 - project-compare-type: ANT
519 project-pattern: '**'
521 - branch-compare-type: ANT
530 name: '{project-name}-jjb-deploy-job'
531 id: github-jjb-deploy-job
532 <<: *lf_jjb_deploy_job
535 - lf-infra-properties:
537 build-days-to-keep: 1
539 url: '{github-url}/{github-org}/{project}'
542 - lf-infra-github-scm:
543 url: '{git-clone-url}{github-org}/{project}'
544 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
546 submodule-recursive: true
547 submodule-timeout: '{submodule-timeout}'
548 choosing-strategy: default
549 jenkins-ssh-credential: '{jenkins-ssh-credential}'
552 - github-pull-request:
553 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
554 only-trigger-phrase: true
555 status-context: 'JJB Deploy Job'
558 white-list-target-branches:
565 - lf_jjb_merge: &lf_jjb_merge
568 ######################
569 # Default parameters #
570 ######################
572 gerrit_merge_triggers:
573 - change-merged-event
574 - comment-added-contains-event:
575 comment-contains-value: remerge$
577 #####################
578 # Job Configuration #
579 #####################
584 - shell: !include-raw-escape:
585 - ../shell/jjb-install.sh
586 - ../shell/jjb-merge-job.sh
587 - ../shell/jjb-cleanup.sh
590 name: '{project-name}-jjb-merge'
593 # yamllint disable-line rule:key-duplicates
596 git-url: '$GIT_URL/$GERRIT_PROJECT'
599 - lf-infra-gerrit-scm:
603 submodule-recursive: '{submodule-recursive}'
604 submodule-timeout: '{submodule-timeout}'
605 choosing-strategy: default
606 jenkins-ssh-credential: '{jenkins-ssh-credential}'
610 server-name: '{gerrit-server-name}'
611 trigger-on: '{obj:gerrit_merge_triggers}'
613 - project-compare-type: ANT
614 project-pattern: '{project}'
616 - branch-compare-type: ANT
617 branch-pattern: '**/{branch}'
618 file-paths: '{obj:gerrit_trigger_file_paths}'
621 name: '{project-name}-jjb-merge'
624 # yamllint disable-line rule:key-duplicates
627 #####################
628 # Job Configuration #
629 #####################
632 - lf-infra-properties:
634 build-days-to-keep: 7
636 url: '{github-url}/{github-org}/{project}'
639 - lf-infra-github-scm:
640 url: '{git-clone-url}{github-org}/{project}'
642 branch: 'refs/heads/{branch}'
643 submodule-recursive: '{submodule-recursive}'
644 submodule-timeout: '{submodule-timeout}'
645 choosing-strategy: default
646 jenkins-ssh-credential: '{jenkins-ssh-credential}'
652 - github-pull-request:
653 trigger-phrase: '^remerge$'
654 only-trigger-phrase: true
655 status-context: 'JJB Merge'
660 white-list: '{obj:github_pr_whitelist}'
661 admin-list: '{obj:github_pr_admin_list}'
662 included-regions: '{obj:github_included_regions}'
663 white-list-target-branches:
670 - lf_jjb_verify: &lf_jjb_verify
673 ######################
674 # Default parameters #
675 ######################
677 gerrit_verify_triggers:
678 - patchset-created-event:
680 exclude-trivial-rebase: false
681 exclude-no-code-change: false
682 - draft-published-event
683 - comment-added-contains-event:
684 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
686 #####################
687 # Job Configuration #
688 #####################
695 - shell: !include-raw-escape:
696 - ../shell/git-validate-jira-urls.sh
697 - ../shell/jjb-install.sh
698 - ../shell/jjb-verify-job.sh
699 - ../shell/jjb-check-unicode.sh
700 - ../shell/jjb-cleanup.sh
701 - lf-infra-gpg-verify-git-signature
704 name: '{project-name}-jjb-verify'
705 id: gerrit-jjb-verify
707 # yamllint disable-line rule:key-duplicates
710 ######################
711 # Default parameters #
712 ######################
714 git-url: '$GIT_URL/$GERRIT_PROJECT'
716 #####################
717 # Job Configuration #
718 #####################
721 - lf-infra-gerrit-scm:
723 refspec: '$GERRIT_REFSPEC'
724 branch: '$GERRIT_BRANCH'
725 submodule-recursive: '{submodule-recursive}'
726 submodule-timeout: '{submodule-timeout}'
727 choosing-strategy: gerrit
728 jenkins-ssh-credential: '{jenkins-ssh-credential}'
732 server-name: '{gerrit-server-name}'
733 trigger-on: '{obj:gerrit_verify_triggers}'
735 - project-compare-type: ANT
736 project-pattern: '{project}'
738 - branch-compare-type: ANT
739 branch-pattern: '**/{branch}'
740 file-paths: '{obj:gerrit_trigger_file_paths}'
743 name: '{project-name}-jjb-verify'
744 id: github-jjb-verify
746 # yamllint disable-line rule:key-duplicates
749 #####################
750 # Job Configuration #
751 #####################
754 - lf-infra-properties:
756 build-days-to-keep: 7
758 url: '{github-url}/{github-org}/{project}'
761 - lf-infra-github-scm:
762 url: '{git-clone-url}{github-org}/{project}'
763 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
765 submodule-recursive: '{submodule-recursive}'
766 submodule-timeout: '{submodule-timeout}'
767 choosing-strategy: default
768 jenkins-ssh-credential: '{jenkins-ssh-credential}'
771 - github-pull-request:
772 trigger-phrase: '^(recheck|reverify)$'
773 only-trigger-phrase: false
774 status-context: 'JJB Verify'
777 included-regions: '{obj:github_included_regions}'
778 white-list-target-branches:
781 ############################
782 # JJB Verify Upstream GJJB #
783 ############################
785 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
786 name: lf-jjb-verify-upstream-gjjb
788 #####################
789 # Job Configuration #
790 #####################
797 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
798 git cherry-pick FETCH_HEAD
800 - shell: !include-raw-escape:
801 - ../shell/git-validate-jira-urls.sh
802 - ../shell/jjb-install.sh
803 - ../shell/jjb-verify-job.sh
804 - ../shell/jjb-check-unicode.sh
805 - ../shell/jjb-cleanup.sh
806 - lf-infra-gpg-verify-git-signature
809 name: '{project-name}-jjb-verify-upstream-gjjb'
810 id: gerrit-jjb-verify-upstream-gjjb
812 # yamllint disable-line rule:key-duplicates
813 <<: *lf_jjb_verify_upstream_gjjb
815 ######################
816 # Default parameters #
817 ######################
819 git-url: '$GIT_URL/$PROJECT'
820 submodule-timeout: 10
822 #####################
823 # Job Configuration #
824 #####################
827 - lf-infra-gerrit-scm:
831 submodule-recursive: true
832 submodule-timeout: '{submodule-timeout}'
833 choosing-strategy: default
834 jenkins-ssh-credential: '{jenkins-ssh-credential}'
838 server-name: 'LinuxFoundation'
840 - patchset-created-event:
842 exclude-trivial-rebase: false
843 exclude-no-code-change: false
844 - draft-published-event
845 - comment-added-contains-event:
846 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
848 - project-compare-type: ANT
849 project-pattern: 'releng/global-jjb'
851 - branch-compare-type: ANT
852 branch-pattern: '**/master'
854 gerrit-build-failed-codereview-value: -1
855 gerrit-build-failed-verified-value: 0
856 gerrit-build-successful-codereview-value: 1
857 gerrit-build-successful-verified-value: 0
863 - lf_license_check: &lf_license_check
864 name: lf-license-check
866 ######################
867 # Default parameters #
868 ######################
871 build-days-to-keep: 7
880 git-url: '$GIT_URL/$PROJECT'
881 github-url: 'https://github.com'
883 license-exclude-paths: ''
884 licenses-allowed: Apache-2.0,EPL-1.0,MIT
885 project-pattern: '**'
888 submodule-timeout: 10
890 #####################
891 # Job Configuration #
892 #####################
894 project-type: freestyle
897 disabled: '{disable-job}'
900 - lf-infra-properties:
901 build-days-to-keep: '{build-days-to-keep}'
904 - lf-infra-parameters:
908 lftools-version: '{lftools-version}'
912 build-timeout: '{build-timeout}'
913 jenkins-ssh-credential: '{jenkins-ssh-credential}'
917 file-patterns: '{file-patterns}'
918 spdx-disable: '{spdx-disable}'
919 lhc-version: '{lhc-version}'
920 license-exclude-paths: '{license-exclude-paths}'
921 licenses-allowed: '{licenses-allowed}'
927 name: '{project-name}-license-check'
928 id: gerrit-license-check
929 <<: *lf_license_check
931 git-url: '$GIT_URL/$GERRIT_PROJECT'
934 - lf-infra-gerrit-scm:
936 refspec: '$GERRIT_REFSPEC'
937 branch: '$GERRIT_BRANCH'
938 # Submodules are out of the project's control
939 submodule-recursive: false
940 submodule-timeout: '{submodule-timeout}'
941 choosing-strategy: gerrit
942 jenkins-ssh-credential: '{jenkins-ssh-credential}'
946 server-name: '{gerrit-server-name}'
947 # Trigger should not be overridable as we want to always run
949 - patchset-created-event:
950 exclude-drafts: false
951 exclude-trivial-rebase: false
952 exclude-no-code-change: false
953 - draft-published-event
954 - comment-added-contains-event:
955 comment-contains-value: recheck$
957 - project-compare-type: ANT
958 project-pattern: '{project-pattern}'
960 - branch-compare-type: ANT
964 name: '{project-name}-license-check'
965 id: github-license-check
966 <<: *lf_license_check
969 - lf-infra-properties:
970 build-days-to-keep: '{build-days-to-keep}'
972 url: '{github-url}/{github-org}/{project}'
975 - lf-infra-github-scm:
976 url: '{git-clone-url}{github-org}/{project}'
977 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
979 # Submodules are out of the project's control
980 submodule-recursive: false
981 submodule-timeout: '{submodule-timeout}'
982 choosing-strategy: default
983 jenkins-ssh-credential: '{jenkins-ssh-credential}'
986 - github-pull-request:
987 trigger-phrase: '^recheck$'
988 only-trigger-phrase: false
989 status-context: 'License Check'
992 white-list-target-branches:
999 - lf_info_yaml_verify: &lf_info_yaml_verify
1000 name: lf-info-yaml-verify
1002 ######################
1003 # Default parameters #
1004 ######################
1006 gerrit_verify_triggers:
1007 - patchset-created-event:
1008 exclude-drafts: true
1009 exclude-trivial-rebase: false
1010 exclude-no-code-change: false
1011 - draft-published-event
1012 - comment-added-contains-event:
1013 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1015 #####################
1016 # Job Configuration #
1017 #####################
1022 - shell: !include-raw-escape:
1023 - ../shell/git-validate-info-yaml.sh
1024 - ../shell/info-file-validate.sh
1027 name: '{project-name}-info-yaml-verify'
1028 id: gerrit-info-yaml-verify
1030 # yamllint disable-line rule:key-duplicates
1031 <<: *lf_info_yaml_verify
1033 git-url: '$GIT_URL/$GERRIT_PROJECT'
1036 - lf-infra-gerrit-scm:
1037 git-url: '{git-url}'
1038 refspec: '$GERRIT_REFSPEC'
1039 branch: '$GERRIT_BRANCH'
1040 submodule-recursive: '{submodule-recursive}'
1041 submodule-timeout: '{submodule-timeout}'
1042 choosing-strategy: gerrit
1043 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1047 server-name: '{gerrit-server-name}'
1048 trigger-on: '{obj:gerrit_verify_triggers}'
1050 - project-compare-type: ANT
1051 project-pattern: '{project}'
1053 - branch-compare-type: ANT
1054 branch-pattern: '**/{branch}'
1056 - compare-type: REG_EXP
1057 pattern: 'INFO.yaml'
1060 name: '{project-name}-info-yaml-verify'
1061 id: github-info-yaml-verify
1063 # yamllint disable-line rule:key-duplicates
1064 <<: *lf_info_yaml_verify
1066 github-url: 'https://github.com'
1069 url: '{github-url}/{github-org}/{project}'
1072 - lf-infra-github-scm:
1073 url: '{git-clone-url}{github-org}/{project}'
1074 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1076 submodule-recursive: '{submodule-recursive}'
1077 submodule-timeout: '{submodule-timeout}'
1078 choosing-strategy: default
1079 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1082 - github-pull-request:
1083 trigger-phrase: '^(recheck|reverify)$'
1084 only-trigger-phrase: false
1085 status-context: 'INFO File Verify'
1088 # included-regions MUST match gerrit file-paths
1089 included-regions: 'INFO.yaml'
1090 white-list-target-branches:
1097 - lf_openstack_cron: &lf_openstack_cron
1098 name: lf-openstack-cron
1100 ######################
1101 # Default parameters #
1102 ######################
1105 build-days-to-keep: 7
1109 git-url: '$GIT_URL/$PROJECT'
1110 github-url: 'https://github.com'
1111 openstack-cloud: vex
1113 submodule-timeout: 10
1115 #####################
1116 # Job Configuration #
1117 #####################
1119 project-type: freestyle
1120 node: '{build-node}'
1122 disabled: '{disable-job}'
1125 - lf-infra-properties:
1126 build-days-to-keep: '{build-days-to-keep}'
1129 - lf-infra-parameters:
1130 project: '{project}'
1133 lftools-version: '{lftools-version}'
1136 - lf-infra-wrappers:
1137 build-timeout: '{build-timeout}'
1138 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1139 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1140 - config-file-provider:
1142 - file-id: clouds-yaml
1143 target: '$HOME/.config/openstack/clouds.yaml'
1145 target: '$HOME/.npmrc'
1147 target: '$HOME/.config/pip/pip.conf'
1150 - timed: '{obj:cron}'
1154 properties-content: OS_CLOUD={openstack-cloud}
1155 - shell: !include-raw-escape: ../shell/openstack-install.sh
1156 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1162 name: '{project-name}-openstack-cron'
1163 id: gerrit-openstack-cron
1164 <<: *lf_openstack_cron
1167 - lf-infra-gerrit-scm:
1168 git-url: '{git-url}'
1169 refspec: 'refs/heads/{branch}'
1171 submodule-recursive: true
1172 submodule-timeout: '{submodule-timeout}'
1173 choosing-strategy: default
1174 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1177 name: '{project-name}-openstack-cron'
1178 id: github-openstack-cron
1179 <<: *lf_openstack_cron
1182 - lf-infra-github-scm:
1183 url: '{git-clone-url}{github-org}/{project}'
1185 branch: 'refs/heads/{branch}'
1186 submodule-recursive: true
1187 submodule-timeout: '{submodule-timeout}'
1188 choosing-strategy: default
1189 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1195 - lf_packer_merge: &lf_packer_merge
1196 name: lf-packer-merge
1198 ######################
1199 # Default parameters #
1200 ######################
1203 openstack-cloud: vex
1205 #####################
1206 # Job Configuration #
1207 #####################
1210 - lf-infra-parameters:
1211 project: '{project}'
1214 lftools-version: '{lftools-version}'
1215 - lf-packer-parameters:
1216 packer-version: '{packer-version}'
1219 - lf-infra-packer-build:
1220 openstack: '{openstack}'
1221 openstack-cloud: '{openstack-cloud}'
1222 packer-cloud-settings: '{packer-cloud-settings}'
1223 packer-version: '{packer-version}'
1224 platform: '{platforms}'
1225 template: '{templates}'
1228 name: '{project-name}-packer-merge-{platforms}-{templates}'
1229 id: gerrit-packer-merge
1230 <<: *lf_packer_common
1231 # yamllint disable-line rule:key-duplicates
1232 <<: *lf_packer_merge
1234 ######################
1235 # Default parameters #
1236 ######################
1238 git-url: '$GIT_URL/$GERRIT_PROJECT'
1240 gerrit_merge_triggers:
1241 - change-merged-event
1242 - comment-added-contains-event:
1243 comment-contains-value: remerge$
1245 #####################
1246 # Job Configuration #
1247 #####################
1250 - lf-infra-gerrit-scm:
1251 git-url: '{git-url}'
1252 refspec: '$GERRIT_REFSPEC'
1253 branch: '$GERRIT_BRANCH'
1254 submodule-recursive: '{submodule-recursive}'
1255 submodule-timeout: '{submodule-timeout}'
1256 choosing-strategy: gerrit
1257 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1260 - timed: '{obj:cron}'
1262 server-name: '{gerrit-server-name}'
1263 trigger-on: '{obj:gerrit_merge_triggers}'
1265 - project-compare-type: ANT
1266 project-pattern: '{project}'
1268 - branch-compare-type: ANT
1269 branch-pattern: '**/{branch}'
1271 - compare-type: REG_EXP
1272 pattern: 'packer\/provision\/.*\.sh'
1273 - compare-type: REG_EXP
1274 pattern: 'packer\/provision\/.*\.bat'
1275 - compare-type: REG_EXP
1276 pattern: 'packer\/provision\/.*\.ps1'
1277 - compare-type: REG_EXP
1278 pattern: 'packer\/provision\/{templates}\.yaml'
1279 - compare-type: REG_EXP
1280 pattern: 'packer\/provision\/local-{templates}\.yaml'
1281 - compare-type: REG_EXP
1282 pattern: 'packer\/templates\/{templates}\.json'
1283 - compare-type: REG_EXP
1284 pattern: 'packer\/vars\/{platforms}\.json'
1287 name: '{project-name}-packer-merge-{platforms}-{templates}'
1288 id: github-packer-merge
1289 <<: *lf_packer_common
1290 # yamllint disable-line rule:key-duplicates
1291 <<: *lf_packer_merge
1293 #####################
1294 # Job Configuration #
1295 #####################
1298 - lf-infra-properties:
1299 project: '{project}'
1300 build-days-to-keep: 7
1302 url: '{github-url}/{github-org}/{project}'
1305 - lf-infra-github-scm:
1306 url: '{git-clone-url}{github-org}/{project}'
1308 branch: 'refs/heads/{branch}'
1309 submodule-recursive: '{submodule-recursive}'
1310 submodule-timeout: '{submodule-timeout}'
1311 choosing-strategy: default
1312 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1315 - timed: '{obj:cron}'
1320 - github-pull-request:
1321 trigger-phrase: '^remerge$'
1322 only-trigger-phrase: true
1323 status-context: 'Packer {platforms}-{templates} Merge'
1328 white-list: '{obj:github_pr_whitelist}'
1329 admin-list: '{obj:github_pr_admin_list}'
1330 # included-regions MUST match Gerrit Trigger file-paths
1332 - 'packer\/provision\/.*\.sh'
1333 - 'packer\/provision\/.*\.bat'
1334 - 'packer\/provision\/.*\.ps1'
1335 - 'packer\/provision\/{templates}\.yaml'
1336 - 'packer\/provision\/local-{templates}\.yaml'
1337 - 'packer\/templates\/{templates}\.json'
1338 - 'packer\/vars\/{platforms}\.json'
1339 white-list-target-branches:
1346 - lf_packer_verify: &lf_packer_verify
1347 name: lf-packer-verify
1349 ######################
1350 # Default parameters #
1351 ######################
1355 openstack-cloud: vex
1357 gerrit_verify_triggers:
1358 - patchset-created-event:
1359 exclude-drafts: true
1360 exclude-trivial-rebase: false
1361 exclude-no-code-change: false
1362 - draft-published-event
1363 - comment-added-contains-event:
1364 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1366 gerrit_trigger_file_paths:
1367 - compare-type: REG_EXP
1368 pattern: 'packer\/.*'
1370 # github_included_regions MUST match gerrit_trigger_file_paths
1371 github_included_regions:
1374 #####################
1375 # Job Configuration #
1376 #####################
1381 - lf-infra-packer-validate:
1382 openstack: '{openstack}'
1383 openstack-cloud: '{openstack-cloud}'
1384 packer-cloud-settings: '{packer-cloud-settings}'
1385 packer-version: '{packer-version}'
1388 name: '{project-name}-packer-verify'
1389 id: gerrit-packer-verify
1390 <<: *lf_packer_common
1391 # yamllint disable-line rule:key-duplicates
1392 <<: *lf_packer_verify
1394 ######################
1395 # Default parameters #
1396 ######################
1398 git-url: '$GIT_URL/$GERRIT_PROJECT'
1400 #####################
1401 # Job Configuration #
1402 #####################
1405 - lf-infra-gerrit-scm:
1406 git-url: '{git-url}'
1407 refspec: '$GERRIT_REFSPEC'
1408 branch: '$GERRIT_BRANCH'
1409 submodule-recursive: '{submodule-recursive}'
1410 submodule-timeout: '{submodule-timeout}'
1411 choosing-strategy: gerrit
1412 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1416 server-name: '{gerrit-server-name}'
1417 trigger-on: '{obj:gerrit_verify_triggers}'
1419 - project-compare-type: ANT
1420 project-pattern: '{project}'
1422 - branch-compare-type: ANT
1423 branch-pattern: '**/{branch}'
1424 file-paths: '{obj:gerrit_trigger_file_paths}'
1427 name: '{project-name}-packer-verify'
1428 id: github-packer-verify
1429 <<: *lf_packer_common
1430 # yamllint disable-line rule:key-duplicates
1431 <<: *lf_packer_verify
1433 #####################
1434 # Job Configuration #
1435 #####################
1438 - lf-infra-properties:
1439 project: '{project}'
1440 build-days-to-keep: 7
1442 url: '{github-url}/{github-org}/{project}'
1445 - lf-infra-github-scm:
1446 url: '{git-clone-url}{github-org}/{project}'
1447 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1449 submodule-recursive: '{submodule-recursive}'
1450 submodule-timeout: '{submodule-timeout}'
1451 choosing-strategy: default
1452 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1455 - github-pull-request:
1456 trigger-phrase: '^(recheck|reverify)$'
1457 only-trigger-phrase: false
1458 status-context: 'Packer Verify'
1461 included-regions: '{obj:github_included_regions}'
1462 white-list-target-branches: