3 name: '{project-name}-ci-jobs'
6 - gerrit-jenkins-cfg-merge
7 - gerrit-jenkins-sandbox-cleanup
8 - gerrit-jjb-deploy-job
13 name: '{project-name}-github-ci-jobs'
16 - github-jenkins-cfg-merge
17 - github-jenkins-sandbox-cleanup
18 - github-jjb-deploy-job
23 name: '{project-name}-info-yaml-jobs'
26 - gerrit-info-yaml-verify
29 name: '{project-name}-github-info-yaml-jobs'
32 - github-info-yaml-verify
35 name: '{project-name}-packer-jobs'
39 - gerrit-packer-verify
42 name: '{project-name}-github-packer-jobs'
46 - github-packer-verify
55 - config-file-provider:
58 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
61 name: lf-infra-jjbini-sandbox
62 # TODO: Consolidate this into jjbini when JJB2.0 is available.
64 - config-file-provider:
66 - file-id: jjbini-sandbox
67 target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
69 - lf_packer: &lf_packer_common
70 name: lf-packer-common
71 # Provide configuration common in packer jobs.
73 ######################
74 # Default parameters #
75 ######################
81 github-url: 'https://github.com'
83 submodule-recursive: true
84 packer-cloud-settings: packer-cloud-env
91 project-type: freestyle
93 disabled: '{disable-job}'
96 - lf-infra-properties:
101 - lf-infra-parameters:
105 lftools-version: '{lftools-version}'
106 - lf-packer-parameters:
107 packer-version: '{packer-version}'
111 build-timeout: '{build-timeout}'
112 jenkins-ssh-credential: '{jenkins-ssh-credential}'
118 name: lf-infra-jjb-parameters
122 default: '{jjb-version}'
123 description: Jenkins Job Builder version to download and install.
126 name: lf-packer-parameters
130 default: '{packer-version}'
131 description: Packer version to download and install.
133 - lf_jjb_common: &lf_jjb_common
136 ######################
137 # Default parameters #
138 ######################
143 github-url: 'https://github.com'
146 submodule-recursive: true
148 gerrit_trigger_file_paths:
149 - compare-type: REG_EXP
150 pattern: '.*\.groovy'
151 - compare-type: REG_EXP
153 - compare-type: REG_EXP
155 - compare-type: REG_EXP
157 - compare-type: REG_EXP
158 pattern: '.*\.(yaml|yml)'
159 - compare-type: REG_EXP
160 pattern: '.*\/global-jjb'
162 # github_included_regions MUST match gerrit_trigger_file_paths
163 github_included_regions:
171 #####################
172 # Job Configuration #
173 #####################
175 project-type: freestyle
177 disabled: '{disable-job}'
180 - lf-infra-properties:
182 build-days-to-keep: 7
185 - lf-infra-parameters:
189 lftools-version: '{lftools-version}'
190 - lf-infra-jjb-parameters:
191 jjb-version: '{jjb-version}'
195 build-timeout: '{build-timeout}'
196 jenkins-ssh-credential: '{jenkins-ssh-credential}'
201 ######################
202 # Gerrit Branch Lock #
203 ######################
206 name: '{project-name}-gerrit-branch-lock-{stream}'
207 id: gerrit-branch-lock
209 ######################
210 # Default parameters #
211 ######################
215 git-url: '$GIT_URL/$GERRIT_PROJECT'
217 gerrit_merge_triggers:
218 - comment-added-contains-event:
219 comment-contains-value: (un)?lock branch$
221 #####################
222 # Job Configuration #
223 #####################
225 project-type: freestyle
227 disabled: '{disable-job}'
230 - lf-infra-properties:
232 build-days-to-keep: 1
235 - lf-infra-parameters:
239 lftools-version: '{lftools-version}'
244 jenkins-ssh-credential: '{jenkins-ssh-credential}'
247 - lf-infra-gerrit-scm:
251 submodule-recursive: false
252 choosing-strategy: default
253 jenkins-ssh-credential: '{jenkins-ssh-credential}'
257 server-name: '{gerrit-server-name}'
258 trigger-on: '{obj:gerrit_merge_triggers}'
260 - project-compare-type: ANT
261 project-pattern: '{project}'
263 - branch-compare-type: ANT
264 branch-pattern: '**/{branch}'
267 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
273 ##########################################
274 # Jenkins Configuration Management Merge #
275 ##########################################
278 name: lf-jenkins-cfg-clouds
282 properties-content: 'jenkins_silos={jenkins-silos}'
283 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
284 - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
287 name: lf-jenkins-cfg-global-vars
291 properties-content: 'jenkins_silos={jenkins-silos}'
292 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
293 - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
295 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
296 name: lf-jenkins-cfg-merge
298 ######################
299 # Default parameters #
300 ######################
305 git-url: '$GIT_URL/$GERRIT_PROJECT'
306 github-url: 'https://github.com'
307 jenkins-silos: production sandbox
309 gerrit_merge_triggers:
310 - change-merged-event
311 - comment-added-contains-event:
312 comment-contains-value: remerge$
314 gerrit_trigger_file_paths:
315 - compare-type: REG_EXP
316 pattern: 'jenkins-config\/.*'
318 # github_included_regions MUST match gerrit_trigger_file_paths
319 github_included_regions:
320 - 'jenkins-config\/.*'
322 #####################
323 # Job Configuration #
324 #####################
326 project-type: freestyle
329 disabled: '{disable-job}'
332 - lf-infra-properties:
334 build-days-to-keep: 1
337 - lf-infra-parameters:
341 lftools-version: '{lftools-version}'
346 jenkins-ssh-credential: '{jenkins-ssh-credential}'
349 - shell: !include-raw-escape:
350 - ../shell/lftools-install.sh
351 - lf-jenkins-cfg-global-vars:
352 jenkins-silos: '{jenkins-silos}'
353 - lf-jenkins-cfg-clouds:
354 jenkins-silos: '{jenkins-silos}'
360 name: '{project-name}-jenkins-cfg-merge'
361 id: gerrit-jenkins-cfg-merge
362 <<: *lf_jenkins_cfg_merge
365 - lf-infra-gerrit-scm:
367 refspec: 'refs/heads/{branch}'
369 submodule-recursive: true
370 choosing-strategy: default
371 jenkins-ssh-credential: '{jenkins-ssh-credential}'
374 - timed: '{obj:cron}'
376 server-name: '{gerrit-server-name}'
377 trigger-on: '{obj:gerrit_merge_triggers}'
379 - project-compare-type: ANT
380 project-pattern: '{project}'
382 - branch-compare-type: ANT
383 branch-pattern: '**/{branch}'
384 file-paths: '{obj:gerrit_trigger_file_paths}'
387 name: '{project-name}-jenkins-cfg-merge'
388 id: github-jenkins-cfg-merge
389 <<: *lf_jenkins_cfg_merge
392 - lf-infra-properties:
394 build-days-to-keep: 1
396 url: '{github-url}/{github-org}/{project}'
399 - lf-infra-github-scm:
400 url: '{git-clone-url}{github-org}/{project}'
402 branch: 'refs/heads/{branch}'
403 submodule-recursive: true
404 choosing-strategy: default
405 jenkins-ssh-credential: '{jenkins-ssh-credential}'
408 - timed: '{obj:cron}'
412 - github-pull-request:
413 trigger-phrase: '^remerge$'
414 only-trigger-phrase: true
415 status-context: 'Jenkins CFG Merge'
420 white-list: '{obj:github_pr_whitelist}'
421 admin-list: '{obj:github_pr_admin_list}'
422 included-regions: '{obj:github_included_regions}'
423 white-list-target-branches:
427 ###########################
428 # JENKINS SANDBOX CLEANUP #
429 ###########################
431 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
432 name: lf-jenkins-sandbox-cleanup
434 ######################
435 # Default parameters #
436 ######################
439 # Run every Saturday at 08:00 UTC
443 #####################
444 # Job Configuration #
445 #####################
447 project-type: freestyle
450 disabled: '{disable-job}'
453 - lf-infra-jjb-parameters:
454 jjb-version: '{jjb-version}'
457 - timed: '{obj:cron}'
461 - shell: !include-raw-escape:
462 - ../shell/jjb-install.sh
463 - ../shell/jenkins-sandbox-cleanup.sh
464 - ../shell/jjb-cleanup.sh
467 name: '{project-name}-jenkins-sandbox-cleanup'
468 id: gerrit-jenkins-sandbox-cleanup
470 # yamllint disable-line rule:key-duplicates
471 <<: *lf_jenkins_sandbox_cleanup
474 name: '{project-name}-jenkins-sandbox-cleanup'
475 id: github-jenkins-sandbox-cleanup
477 # yamllint disable-line rule:key-duplicates
478 <<: *lf_jenkins_sandbox_cleanup
485 - lf_jjb_deploy_job: &lf_jjb_deploy_job
486 name: lf-jjb-deploy-job
488 ######################
489 # Default parameters #
490 ######################
494 # jjb-deploy should always clone $PROJECT regardless of what
495 # $GERRIT_PROJECT triggered the job.
496 git-url: '$GIT_URL/$PROJECT'
497 github-url: 'https://github.com'
499 gerrit_jjb_deploy_job_triggers:
500 - comment-added-contains-event:
501 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
503 #####################
504 # Job Configuration #
505 #####################
507 project-type: freestyle
510 disabled: '{disable-job}'
513 - lf-infra-properties:
515 build-days-to-keep: 1
518 - lf-infra-parameters:
522 lftools-version: '{lftools-version}'
527 jenkins-ssh-credential: '{jenkins-ssh-credential}'
531 pip-packages: jenkins-job-builder
532 - lf-infra-jjbini-sandbox
533 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
539 name: '{project-name}-jjb-deploy-job'
540 id: gerrit-jjb-deploy-job
541 <<: *lf_jjb_deploy_job
544 - lf-infra-gerrit-scm:
546 refspec: 'refs/heads/{branch}'
548 submodule-recursive: true
549 choosing-strategy: default
550 jenkins-ssh-credential: '{jenkins-ssh-credential}'
554 server-name: '{gerrit-server-name}'
555 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
557 - project-compare-type: ANT
558 project-pattern: '**'
560 - branch-compare-type: ANT
569 name: '{project-name}-jjb-deploy-job'
570 id: github-jjb-deploy-job
571 <<: *lf_jjb_deploy_job
574 - lf-infra-properties:
576 build-days-to-keep: 1
578 url: '{github-url}/{github-org}/{project}'
581 - lf-infra-github-scm:
582 url: '{git-clone-url}{github-org}/{project}'
583 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
585 submodule-recursive: true
586 choosing-strategy: default
587 jenkins-ssh-credential: '{jenkins-ssh-credential}'
590 - github-pull-request:
591 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
592 only-trigger-phrase: true
593 status-context: 'JJB Deploy Job'
596 white-list-target-branches:
603 - lf_jjb_merge: &lf_jjb_merge
606 ######################
607 # Default parameters #
608 ######################
610 gerrit_merge_triggers:
611 - change-merged-event
612 - comment-added-contains-event:
613 comment-contains-value: remerge$
615 #####################
616 # Job Configuration #
617 #####################
621 - shell: !include-raw-escape:
622 - ../shell/jjb-install.sh
623 - ../shell/jjb-merge-job.sh
624 - ../shell/jjb-cleanup.sh
627 name: '{project-name}-jjb-merge'
630 # yamllint disable-line rule:key-duplicates
633 git-url: '$GIT_URL/$GERRIT_PROJECT'
636 - lf-infra-gerrit-scm:
640 submodule-recursive: '{submodule-recursive}'
641 choosing-strategy: default
642 jenkins-ssh-credential: '{jenkins-ssh-credential}'
646 server-name: '{gerrit-server-name}'
647 trigger-on: '{obj:gerrit_merge_triggers}'
649 - project-compare-type: ANT
650 project-pattern: '{project}'
652 - branch-compare-type: ANT
653 branch-pattern: '**/{branch}'
654 file-paths: '{obj:gerrit_trigger_file_paths}'
657 name: '{project-name}-jjb-merge'
660 # yamllint disable-line rule:key-duplicates
663 #####################
664 # Job Configuration #
665 #####################
668 - lf-infra-properties:
670 build-days-to-keep: 7
672 url: '{github-url}/{github-org}/{project}'
675 - lf-infra-github-scm:
676 url: '{git-clone-url}{github-org}/{project}'
678 branch: 'refs/heads/{branch}'
679 submodule-recursive: '{submodule-recursive}'
680 choosing-strategy: default
681 jenkins-ssh-credential: '{jenkins-ssh-credential}'
687 - github-pull-request:
688 trigger-phrase: '^remerge$'
689 only-trigger-phrase: true
690 status-context: 'JJB Merge'
695 white-list: '{obj:github_pr_whitelist}'
696 admin-list: '{obj:github_pr_admin_list}'
697 included-regions: '{obj:github_included_regions}'
698 white-list-target-branches:
705 - lf_jjb_verify: &lf_jjb_verify
708 ######################
709 # Default parameters #
710 ######################
712 gerrit_verify_triggers:
713 - patchset-created-event:
715 exclude-trivial-rebase: false
716 exclude-no-code-change: false
717 - draft-published-event
718 - comment-added-contains-event:
719 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
721 #####################
722 # Job Configuration #
723 #####################
729 - shell: !include-raw-escape:
730 - ../shell/git-validate-jira-urls.sh
731 - ../shell/jjb-install.sh
732 - ../shell/jjb-verify-job.sh
733 - ../shell/jjb-check-unicode.sh
734 - ../shell/jjb-cleanup.sh
735 - lf-infra-gpg-verify-git-signature
738 name: '{project-name}-jjb-verify'
739 id: gerrit-jjb-verify
741 # yamllint disable-line rule:key-duplicates
744 ######################
745 # Default parameters #
746 ######################
748 git-url: '$GIT_URL/$GERRIT_PROJECT'
750 #####################
751 # Job Configuration #
752 #####################
755 - lf-infra-gerrit-scm:
757 refspec: '$GERRIT_REFSPEC'
758 branch: '$GERRIT_BRANCH'
759 submodule-recursive: '{submodule-recursive}'
760 choosing-strategy: gerrit
761 jenkins-ssh-credential: '{jenkins-ssh-credential}'
765 server-name: '{gerrit-server-name}'
766 trigger-on: '{obj:gerrit_verify_triggers}'
768 - project-compare-type: ANT
769 project-pattern: '{project}'
771 - branch-compare-type: ANT
772 branch-pattern: '**/{branch}'
773 file-paths: '{obj:gerrit_trigger_file_paths}'
776 name: '{project-name}-jjb-verify'
777 id: github-jjb-verify
779 # yamllint disable-line rule:key-duplicates
782 #####################
783 # Job Configuration #
784 #####################
787 - lf-infra-properties:
789 build-days-to-keep: 7
791 url: '{github-url}/{github-org}/{project}'
794 - lf-infra-github-scm:
795 url: '{git-clone-url}{github-org}/{project}'
796 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
798 submodule-recursive: '{submodule-recursive}'
799 choosing-strategy: default
800 jenkins-ssh-credential: '{jenkins-ssh-credential}'
803 - github-pull-request:
804 trigger-phrase: '^(recheck|reverify)$'
805 only-trigger-phrase: false
806 status-context: 'JJB Verify'
809 included-regions: '{obj:github_included_regions}'
810 white-list-target-branches:
813 ############################
814 # JJB Verify Upstream GJJB #
815 ############################
817 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
818 name: lf-jjb-verify-upstream-gjjb
820 #####################
821 # Job Configuration #
822 #####################
829 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
830 git cherry-pick FETCH_HEAD
832 - shell: !include-raw-escape:
833 - ../shell/git-validate-jira-urls.sh
834 - ../shell/jjb-install.sh
835 - ../shell/jjb-verify-job.sh
836 - ../shell/jjb-check-unicode.sh
837 - ../shell/jjb-cleanup.sh
838 - lf-infra-gpg-verify-git-signature
841 name: '{project-name}-jjb-verify-upstream-gjjb'
842 id: gerrit-jjb-verify-upstream-gjjb
844 # yamllint disable-line rule:key-duplicates
845 <<: *lf_jjb_verify_upstream_gjjb
847 ######################
848 # Default parameters #
849 ######################
851 git-url: '$GIT_URL/$PROJECT'
853 #####################
854 # Job Configuration #
855 #####################
858 - lf-infra-gerrit-scm:
862 submodule-recursive: true
863 choosing-strategy: default
864 jenkins-ssh-credential: '{jenkins-ssh-credential}'
868 server-name: 'LinuxFoundation'
870 - patchset-created-event:
872 exclude-trivial-rebase: false
873 exclude-no-code-change: false
874 - draft-published-event
875 - comment-added-contains-event:
876 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
878 - project-compare-type: ANT
879 project-pattern: 'releng/global-jjb'
881 - branch-compare-type: ANT
882 branch-pattern: '**/master'
884 gerrit-build-failed-codereview-value: -1
885 gerrit-build-failed-verified-value: 0
886 gerrit-build-successful-codereview-value: 1
887 gerrit-build-successful-verified-value: 0
893 - lf_license_check: &lf_license_check
894 name: lf-license-check
896 ######################
897 # Default parameters #
898 ######################
901 build-days-to-keep: 7
910 git-url: '$GIT_URL/$PROJECT'
911 github-url: 'https://github.com'
913 license-exclude-paths: ''
914 licenses-allowed: Apache-2.0,EPL-1.0,MIT
915 project-pattern: '**'
919 #####################
920 # Job Configuration #
921 #####################
923 project-type: freestyle
926 disabled: '{disable-job}'
929 - lf-infra-properties:
930 build-days-to-keep: '{build-days-to-keep}'
933 - lf-infra-parameters:
937 lftools-version: '{lftools-version}'
941 build-timeout: '{build-timeout}'
942 jenkins-ssh-credential: '{jenkins-ssh-credential}'
946 file-patterns: '{file-patterns}'
947 spdx-disable: '{spdx-disable}'
948 lhc-version: '{lhc-version}'
949 license-exclude-paths: '{license-exclude-paths}'
950 licenses-allowed: '{licenses-allowed}'
956 name: '{project-name}-license-check'
957 id: gerrit-license-check
958 <<: *lf_license_check
960 git-url: '$GIT_URL/$GERRIT_PROJECT'
963 - lf-infra-gerrit-scm:
965 refspec: '$GERRIT_REFSPEC'
966 branch: '$GERRIT_BRANCH'
967 # Submodules are out of the project's control
968 submodule-recursive: false
969 choosing-strategy: gerrit
970 jenkins-ssh-credential: '{jenkins-ssh-credential}'
974 server-name: '{gerrit-server-name}'
975 # Trigger should not be overridable as we want to always run
977 - patchset-created-event:
978 exclude-drafts: false
979 exclude-trivial-rebase: false
980 exclude-no-code-change: false
981 - draft-published-event
982 - comment-added-contains-event:
983 comment-contains-value: recheck$
985 - project-compare-type: ANT
986 project-pattern: '{project-pattern}'
988 - branch-compare-type: ANT
992 name: '{project-name}-license-check'
993 id: github-license-check
994 <<: *lf_license_check
997 - lf-infra-properties:
998 build-days-to-keep: '{build-days-to-keep}'
1000 url: '{github-url}/{github-org}/{project}'
1003 - lf-infra-github-scm:
1004 url: '{git-clone-url}{github-org}/{project}'
1005 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1007 # Submodules are out of the project's control
1008 submodule-recursive: false
1009 choosing-strategy: default
1010 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1013 - github-pull-request:
1014 trigger-phrase: '^recheck$'
1015 only-trigger-phrase: false
1016 status-context: 'License Check'
1019 white-list-target-branches:
1022 ####################
1023 # Info YAML Verify #
1024 ####################
1026 - lf_info_yaml_verify: &lf_info_yaml_verify
1027 name: lf-info-yaml-verify
1029 ######################
1030 # Default parameters #
1031 ######################
1033 gerrit_verify_triggers:
1034 - patchset-created-event:
1035 exclude-drafts: true
1036 exclude-trivial-rebase: false
1037 exclude-no-code-change: false
1038 - draft-published-event
1039 - comment-added-contains-event:
1040 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1042 #####################
1043 # Job Configuration #
1044 #####################
1049 - shell: !include-raw-escape:
1050 - ../shell/git-validate-info-yaml.sh
1051 - ../shell/info-file-validate.sh
1054 name: '{project-name}-info-yaml-verify'
1055 id: gerrit-info-yaml-verify
1057 # yamllint disable-line rule:key-duplicates
1058 <<: *lf_info_yaml_verify
1060 git-url: '$GIT_URL/$GERRIT_PROJECT'
1063 - lf-infra-gerrit-scm:
1064 git-url: '{git-url}'
1065 refspec: '$GERRIT_REFSPEC'
1066 branch: '$GERRIT_BRANCH'
1067 submodule-recursive: '{submodule-recursive}'
1068 choosing-strategy: gerrit
1069 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1073 server-name: '{gerrit-server-name}'
1074 trigger-on: '{obj:gerrit_verify_triggers}'
1076 - project-compare-type: ANT
1077 project-pattern: '{project}'
1079 - branch-compare-type: ANT
1080 branch-pattern: '**/{branch}'
1082 - compare-type: REG_EXP
1083 pattern: 'INFO.yaml'
1086 name: '{project-name}-info-yaml-verify'
1087 id: github-info-yaml-verify
1089 # yamllint disable-line rule:key-duplicates
1090 <<: *lf_info_yaml_verify
1092 github-url: 'https://github.com'
1095 url: '{github-url}/{github-org}/{project}'
1098 - lf-infra-github-scm:
1099 url: '{git-clone-url}{github-org}/{project}'
1100 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1102 submodule-recursive: '{submodule-recursive}'
1103 choosing-strategy: default
1104 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1107 - github-pull-request:
1108 trigger-phrase: '^(recheck|reverify)$'
1109 only-trigger-phrase: false
1110 status-context: 'INFO File Verify'
1113 # included-regions MUST match gerrit file-paths
1114 included-regions: 'INFO.yaml'
1115 white-list-target-branches:
1122 - lf_openstack_cron: &lf_openstack_cron
1123 name: lf-openstack-cron
1125 ######################
1126 # Default parameters #
1127 ######################
1130 build-days-to-keep: 7
1134 git-url: '$GIT_URL/$PROJECT'
1135 github-url: 'https://github.com'
1136 openstack-cloud: vex
1139 #####################
1140 # Job Configuration #
1141 #####################
1143 project-type: freestyle
1144 node: '{build-node}'
1146 disabled: '{disable-job}'
1149 - lf-infra-properties:
1150 build-days-to-keep: '{build-days-to-keep}'
1153 - lf-infra-parameters:
1154 project: '{project}'
1157 lftools-version: '{lftools-version}'
1160 - lf-infra-wrappers:
1161 build-timeout: '{build-timeout}'
1162 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1163 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1164 - config-file-provider:
1166 - file-id: clouds-yaml
1167 target: '$HOME/.config/openstack/clouds.yaml'
1169 target: '$HOME/.npmrc'
1171 target: '$HOME/.config/pip/pip.conf'
1174 - timed: '{obj:cron}'
1178 properties-content: OS_CLOUD={openstack-cloud}
1179 - shell: !include-raw-escape: ../shell/openstack-install.sh
1180 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1186 name: '{project-name}-openstack-cron'
1187 id: gerrit-openstack-cron
1188 <<: *lf_openstack_cron
1191 - lf-infra-gerrit-scm:
1192 git-url: '{git-url}'
1193 refspec: 'refs/heads/{branch}'
1195 submodule-recursive: true
1196 choosing-strategy: default
1197 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1200 name: '{project-name}-openstack-cron'
1201 id: github-openstack-cron
1202 <<: *lf_openstack_cron
1205 - lf-infra-github-scm:
1206 url: '{git-clone-url}{github-org}/{project}'
1208 branch: 'refs/heads/{branch}'
1209 submodule-recursive: true
1210 choosing-strategy: default
1211 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1217 - lf_packer_merge: &lf_packer_merge
1218 name: lf-packer-merge
1220 #####################
1221 # Job Configuration #
1222 #####################
1225 - lf-infra-packer-build:
1226 packer-cloud-settings: '{packer-cloud-settings}'
1227 packer-version: '{packer-version}'
1228 platform: '{platforms}'
1229 template: '{templates}'
1232 name: '{project-name}-packer-merge-{platforms}-{templates}'
1233 id: gerrit-packer-merge
1234 <<: *lf_packer_common
1235 # yamllint disable-line rule:key-duplicates
1236 <<: *lf_packer_merge
1238 ######################
1239 # Default parameters #
1240 ######################
1242 git-url: '$GIT_URL/$GERRIT_PROJECT'
1244 gerrit_merge_triggers:
1245 - change-merged-event
1246 - comment-added-contains-event:
1247 comment-contains-value: remerge$
1249 #####################
1250 # Job Configuration #
1251 #####################
1254 - lf-infra-gerrit-scm:
1255 git-url: '{git-url}'
1256 refspec: '$GERRIT_REFSPEC'
1257 branch: '$GERRIT_BRANCH'
1258 submodule-recursive: '{submodule-recursive}'
1259 choosing-strategy: gerrit
1260 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1263 - timed: '{obj:cron}'
1265 server-name: '{gerrit-server-name}'
1266 trigger-on: '{obj:gerrit_merge_triggers}'
1268 - project-compare-type: ANT
1269 project-pattern: '{project}'
1271 - branch-compare-type: ANT
1272 branch-pattern: '**/{branch}'
1274 - compare-type: REG_EXP
1275 pattern: 'packer\/provision\/.*\.sh'
1276 - compare-type: REG_EXP
1277 pattern: 'packer\/provision\/.*\.bat'
1278 - compare-type: REG_EXP
1279 pattern: 'packer\/provision\/.*\.ps1'
1280 - compare-type: REG_EXP
1281 pattern: 'packer\/provision\/{templates}\.yaml'
1282 - compare-type: REG_EXP
1283 pattern: 'packer\/provision\/local-{templates}\.yaml'
1284 - compare-type: REG_EXP
1285 pattern: 'packer\/templates\/{templates}\.json'
1286 - compare-type: REG_EXP
1287 pattern: 'packer\/vars\/{platforms}\.json'
1290 name: '{project-name}-packer-merge-{platforms}-{templates}'
1291 id: github-packer-merge
1292 <<: *lf_packer_common
1293 # yamllint disable-line rule:key-duplicates
1294 <<: *lf_packer_merge
1296 #####################
1297 # Job Configuration #
1298 #####################
1301 - lf-infra-properties:
1302 project: '{project}'
1303 build-days-to-keep: 7
1305 url: '{github-url}/{github-org}/{project}'
1308 - lf-infra-github-scm:
1309 url: '{git-clone-url}{github-org}/{project}'
1311 branch: 'refs/heads/{branch}'
1312 submodule-recursive: '{submodule-recursive}'
1313 choosing-strategy: default
1314 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1317 - timed: '{obj:cron}'
1322 - github-pull-request:
1323 trigger-phrase: '^remerge$'
1324 only-trigger-phrase: true
1325 status-context: 'Packer {platforms}-{templates} Merge'
1330 white-list: '{obj:github_pr_whitelist}'
1331 admin-list: '{obj:github_pr_admin_list}'
1332 # included-regions MUST match Gerrit Trigger file-paths
1334 - 'packer\/provision\/.*\.sh'
1335 - 'packer\/provision\/.*\.bat'
1336 - 'packer\/provision\/.*\.ps1'
1337 - 'packer\/provision\/{templates}\.yaml'
1338 - 'packer\/provision\/local-{templates}\.yaml'
1339 - 'packer\/templates\/{templates}\.json'
1340 - 'packer\/vars\/{platforms}\.json'
1341 white-list-target-branches:
1348 - lf_packer_verify: &lf_packer_verify
1349 name: lf-packer-verify
1351 ######################
1352 # Default parameters #
1353 ######################
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 packer-cloud-settings: '{packer-cloud-settings}'
1383 packer-version: '{packer-version}'
1386 name: '{project-name}-packer-verify'
1387 id: gerrit-packer-verify
1388 <<: *lf_packer_common
1389 # yamllint disable-line rule:key-duplicates
1390 <<: *lf_packer_verify
1392 ######################
1393 # Default parameters #
1394 ######################
1396 git-url: '$GIT_URL/$GERRIT_PROJECT'
1398 #####################
1399 # Job Configuration #
1400 #####################
1403 - lf-infra-gerrit-scm:
1404 git-url: '{git-url}'
1405 refspec: '$GERRIT_REFSPEC'
1406 branch: '$GERRIT_BRANCH'
1407 submodule-recursive: '{submodule-recursive}'
1408 choosing-strategy: gerrit
1409 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1413 server-name: '{gerrit-server-name}'
1414 trigger-on: '{obj:gerrit_verify_triggers}'
1416 - project-compare-type: ANT
1417 project-pattern: '{project}'
1419 - branch-compare-type: ANT
1420 branch-pattern: '**/{branch}'
1421 file-paths: '{obj:gerrit_trigger_file_paths}'
1424 name: '{project-name}-packer-verify'
1425 id: github-packer-verify
1426 <<: *lf_packer_common
1427 # yamllint disable-line rule:key-duplicates
1428 <<: *lf_packer_verify
1430 #####################
1431 # Job Configuration #
1432 #####################
1435 - lf-infra-properties:
1436 project: '{project}'
1437 build-days-to-keep: 7
1439 url: '{github-url}/{github-org}/{project}'
1442 - lf-infra-github-scm:
1443 url: '{git-clone-url}{github-org}/{project}'
1444 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1446 submodule-recursive: '{submodule-recursive}'
1447 choosing-strategy: default
1448 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1451 - github-pull-request:
1452 trigger-phrase: '^(recheck|reverify)$'
1453 only-trigger-phrase: false
1454 status-context: 'Packer Verify'
1457 included-regions: '{obj:github_included_regions}'
1458 white-list-target-branches: