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 -f "$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 -f "$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}'
350 - lf-jenkins-cfg-global-vars:
351 jenkins-silos: '{jenkins-silos}'
352 - lf-jenkins-cfg-clouds:
353 jenkins-silos: '{jenkins-silos}'
359 name: '{project-name}-jenkins-cfg-merge'
360 id: gerrit-jenkins-cfg-merge
361 <<: *lf_jenkins_cfg_merge
364 - lf-infra-gerrit-scm:
366 refspec: 'refs/heads/{branch}'
368 submodule-recursive: true
369 choosing-strategy: default
370 jenkins-ssh-credential: '{jenkins-ssh-credential}'
373 - timed: '{obj:cron}'
375 server-name: '{gerrit-server-name}'
376 trigger-on: '{obj:gerrit_merge_triggers}'
378 - project-compare-type: ANT
379 project-pattern: '{project}'
381 - branch-compare-type: ANT
382 branch-pattern: '**/{branch}'
383 file-paths: '{obj:gerrit_trigger_file_paths}'
386 name: '{project-name}-jenkins-cfg-merge'
387 id: github-jenkins-cfg-merge
388 <<: *lf_jenkins_cfg_merge
391 - lf-infra-properties:
393 build-days-to-keep: 1
395 url: '{github-url}/{github-org}/{project}'
398 - lf-infra-github-scm:
399 url: '{git-clone-url}{github-org}/{project}'
401 branch: 'refs/heads/{branch}'
402 submodule-recursive: true
403 choosing-strategy: default
404 jenkins-ssh-credential: '{jenkins-ssh-credential}'
407 - timed: '{obj:cron}'
411 - github-pull-request:
412 trigger-phrase: '^remerge$'
413 only-trigger-phrase: true
414 status-context: 'Jenkins CFG Merge'
419 white-list: '{obj:github_pr_whitelist}'
420 admin-list: '{obj:github_pr_admin_list}'
421 included-regions: '{obj:github_included_regions}'
422 white-list-target-branches:
426 ###########################
427 # JENKINS SANDBOX CLEANUP #
428 ###########################
430 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
431 name: lf-jenkins-sandbox-cleanup
433 ######################
434 # Default parameters #
435 ######################
438 # Run every Saturday at 08:00 UTC
442 #####################
443 # Job Configuration #
444 #####################
446 project-type: freestyle
449 disabled: '{disable-job}'
452 - lf-infra-jjb-parameters:
453 jjb-version: '{jjb-version}'
456 - timed: '{obj:cron}'
460 - shell: !include-raw-escape:
461 - ../shell/jjb-install.sh
462 - ../shell/jenkins-sandbox-cleanup.sh
463 - ../shell/jjb-cleanup.sh
466 name: '{project-name}-jenkins-sandbox-cleanup'
467 id: gerrit-jenkins-sandbox-cleanup
469 # yamllint disable-line rule:key-duplicates
470 <<: *lf_jenkins_sandbox_cleanup
473 name: '{project-name}-jenkins-sandbox-cleanup'
474 id: github-jenkins-sandbox-cleanup
476 # yamllint disable-line rule:key-duplicates
477 <<: *lf_jenkins_sandbox_cleanup
484 - lf_jjb_deploy_job: &lf_jjb_deploy_job
485 name: lf-jjb-deploy-job
487 ######################
488 # Default parameters #
489 ######################
493 # jjb-deploy should always clone $PROJECT regardless of what
494 # $GERRIT_PROJECT triggered the job.
495 git-url: '$GIT_URL/$PROJECT'
496 github-url: 'https://github.com'
498 gerrit_jjb_deploy_job_triggers:
499 - comment-added-contains-event:
500 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
502 #####################
503 # Job Configuration #
504 #####################
506 project-type: freestyle
509 disabled: '{disable-job}'
512 - lf-infra-properties:
514 build-days-to-keep: 1
517 - lf-infra-parameters:
521 lftools-version: '{lftools-version}'
526 jenkins-ssh-credential: '{jenkins-ssh-credential}'
530 pip-packages: jenkins-job-builder
531 - lf-infra-jjbini-sandbox
532 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
538 name: '{project-name}-jjb-deploy-job'
539 id: gerrit-jjb-deploy-job
540 <<: *lf_jjb_deploy_job
543 - lf-infra-gerrit-scm:
545 refspec: 'refs/heads/{branch}'
547 submodule-recursive: true
548 choosing-strategy: default
549 jenkins-ssh-credential: '{jenkins-ssh-credential}'
553 server-name: '{gerrit-server-name}'
554 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
556 - project-compare-type: ANT
557 project-pattern: '**'
559 - branch-compare-type: ANT
568 name: '{project-name}-jjb-deploy-job'
569 id: github-jjb-deploy-job
570 <<: *lf_jjb_deploy_job
573 - lf-infra-properties:
575 build-days-to-keep: 1
577 url: '{github-url}/{github-org}/{project}'
580 - lf-infra-github-scm:
581 url: '{git-clone-url}{github-org}/{project}'
582 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
584 submodule-recursive: true
585 choosing-strategy: default
586 jenkins-ssh-credential: '{jenkins-ssh-credential}'
589 - github-pull-request:
590 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
591 only-trigger-phrase: true
592 status-context: 'JJB Deploy Job'
595 white-list-target-branches:
602 - lf_jjb_merge: &lf_jjb_merge
605 ######################
606 # Default parameters #
607 ######################
609 gerrit_merge_triggers:
610 - change-merged-event
611 - comment-added-contains-event:
612 comment-contains-value: remerge$
614 #####################
615 # Job Configuration #
616 #####################
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 #####################
730 - shell: !include-raw-escape:
731 - ../shell/git-validate-jira-urls.sh
732 - ../shell/jjb-install.sh
733 - ../shell/jjb-verify-job.sh
734 - ../shell/jjb-check-unicode.sh
735 - ../shell/jjb-cleanup.sh
736 - lf-infra-gpg-verify-git-signature
739 name: '{project-name}-jjb-verify'
740 id: gerrit-jjb-verify
742 # yamllint disable-line rule:key-duplicates
745 ######################
746 # Default parameters #
747 ######################
749 git-url: '$GIT_URL/$GERRIT_PROJECT'
751 #####################
752 # Job Configuration #
753 #####################
756 - lf-infra-gerrit-scm:
758 refspec: '$GERRIT_REFSPEC'
759 branch: '$GERRIT_BRANCH'
760 submodule-recursive: '{submodule-recursive}'
761 choosing-strategy: gerrit
762 jenkins-ssh-credential: '{jenkins-ssh-credential}'
766 server-name: '{gerrit-server-name}'
767 trigger-on: '{obj:gerrit_verify_triggers}'
769 - project-compare-type: ANT
770 project-pattern: '{project}'
772 - branch-compare-type: ANT
773 branch-pattern: '**/{branch}'
774 file-paths: '{obj:gerrit_trigger_file_paths}'
777 name: '{project-name}-jjb-verify'
778 id: github-jjb-verify
780 # yamllint disable-line rule:key-duplicates
783 #####################
784 # Job Configuration #
785 #####################
788 - lf-infra-properties:
790 build-days-to-keep: 7
792 url: '{github-url}/{github-org}/{project}'
795 - lf-infra-github-scm:
796 url: '{git-clone-url}{github-org}/{project}'
797 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
799 submodule-recursive: '{submodule-recursive}'
800 choosing-strategy: default
801 jenkins-ssh-credential: '{jenkins-ssh-credential}'
804 - github-pull-request:
805 trigger-phrase: '^(recheck|reverify)$'
806 only-trigger-phrase: false
807 status-context: 'JJB Verify'
810 included-regions: '{obj:github_included_regions}'
811 white-list-target-branches:
814 ############################
815 # JJB Verify Upstream GJJB #
816 ############################
818 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
819 name: lf-jjb-verify-upstream-gjjb
821 #####################
822 # Job Configuration #
823 #####################
830 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
831 git cherry-pick FETCH_HEAD
833 - shell: !include-raw-escape:
834 - ../shell/git-validate-jira-urls.sh
835 - ../shell/jjb-install.sh
836 - ../shell/jjb-verify-job.sh
837 - ../shell/jjb-check-unicode.sh
838 - ../shell/jjb-cleanup.sh
839 - lf-infra-gpg-verify-git-signature
842 name: '{project-name}-jjb-verify-upstream-gjjb'
843 id: gerrit-jjb-verify-upstream-gjjb
845 # yamllint disable-line rule:key-duplicates
846 <<: *lf_jjb_verify_upstream_gjjb
848 ######################
849 # Default parameters #
850 ######################
852 git-url: '$GIT_URL/$PROJECT'
854 #####################
855 # Job Configuration #
856 #####################
859 - lf-infra-gerrit-scm:
863 submodule-recursive: true
864 choosing-strategy: default
865 jenkins-ssh-credential: '{jenkins-ssh-credential}'
869 server-name: 'LinuxFoundation'
871 - patchset-created-event:
873 exclude-trivial-rebase: false
874 exclude-no-code-change: false
875 - draft-published-event
876 - comment-added-contains-event:
877 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
879 - project-compare-type: ANT
880 project-pattern: 'releng/global-jjb'
882 - branch-compare-type: ANT
883 branch-pattern: '**/master'
885 gerrit-build-failed-codereview-value: -1
886 gerrit-build-failed-verified-value: 0
887 gerrit-build-successful-codereview-value: 1
888 gerrit-build-successful-verified-value: 0
894 - lf_license_check: &lf_license_check
895 name: lf-license-check
897 ######################
898 # Default parameters #
899 ######################
902 build-days-to-keep: 7
911 git-url: '$GIT_URL/$PROJECT'
912 github-url: 'https://github.com'
914 license-exclude-paths: ''
915 licenses-allowed: Apache-2.0,EPL-1.0,MIT
916 project-pattern: '**'
920 #####################
921 # Job Configuration #
922 #####################
924 project-type: freestyle
927 disabled: '{disable-job}'
930 - lf-infra-properties:
931 build-days-to-keep: '{build-days-to-keep}'
934 - lf-infra-parameters:
938 lftools-version: '{lftools-version}'
942 build-timeout: '{build-timeout}'
943 jenkins-ssh-credential: '{jenkins-ssh-credential}'
947 file-patterns: '{file-patterns}'
948 spdx-disable: '{spdx-disable}'
949 lhc-version: '{lhc-version}'
950 license-exclude-paths: '{license-exclude-paths}'
951 licenses-allowed: '{licenses-allowed}'
957 name: '{project-name}-license-check'
958 id: gerrit-license-check
959 <<: *lf_license_check
961 git-url: '$GIT_URL/$GERRIT_PROJECT'
964 - lf-infra-gerrit-scm:
966 refspec: '$GERRIT_REFSPEC'
967 branch: '$GERRIT_BRANCH'
968 # Submodules are out of the project's control
969 submodule-recursive: false
970 choosing-strategy: gerrit
971 jenkins-ssh-credential: '{jenkins-ssh-credential}'
975 server-name: '{gerrit-server-name}'
976 # Trigger should not be overridable as we want to always run
978 - patchset-created-event:
979 exclude-drafts: false
980 exclude-trivial-rebase: false
981 exclude-no-code-change: false
982 - draft-published-event
983 - comment-added-contains-event:
984 comment-contains-value: recheck$
986 - project-compare-type: ANT
987 project-pattern: '{project-pattern}'
989 - branch-compare-type: ANT
993 name: '{project-name}-license-check'
994 id: github-license-check
995 <<: *lf_license_check
998 - lf-infra-properties:
999 build-days-to-keep: '{build-days-to-keep}'
1001 url: '{github-url}/{github-org}/{project}'
1004 - lf-infra-github-scm:
1005 url: '{git-clone-url}{github-org}/{project}'
1006 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1008 # Submodules are out of the project's control
1009 submodule-recursive: false
1010 choosing-strategy: default
1011 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1014 - github-pull-request:
1015 trigger-phrase: '^recheck$'
1016 only-trigger-phrase: false
1017 status-context: 'License Check'
1020 white-list-target-branches:
1023 ####################
1024 # Info YAML Verify #
1025 ####################
1027 - lf_info_yaml_verify: &lf_info_yaml_verify
1028 name: lf-info-yaml-verify
1030 ######################
1031 # Default parameters #
1032 ######################
1034 gerrit_verify_triggers:
1035 - patchset-created-event:
1036 exclude-drafts: true
1037 exclude-trivial-rebase: false
1038 exclude-no-code-change: false
1039 - draft-published-event
1040 - comment-added-contains-event:
1041 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1043 #####################
1044 # Job Configuration #
1045 #####################
1050 - shell: !include-raw-escape:
1051 - ../shell/git-validate-info-yaml.sh
1052 - ../shell/info-file-validate.sh
1055 name: '{project-name}-info-yaml-verify'
1056 id: gerrit-info-yaml-verify
1058 # yamllint disable-line rule:key-duplicates
1059 <<: *lf_info_yaml_verify
1061 git-url: '$GIT_URL/$GERRIT_PROJECT'
1064 - lf-infra-gerrit-scm:
1065 git-url: '{git-url}'
1066 refspec: '$GERRIT_REFSPEC'
1067 branch: '$GERRIT_BRANCH'
1068 submodule-recursive: '{submodule-recursive}'
1069 choosing-strategy: gerrit
1070 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1074 server-name: '{gerrit-server-name}'
1075 trigger-on: '{obj:gerrit_verify_triggers}'
1077 - project-compare-type: ANT
1078 project-pattern: '{project}'
1080 - branch-compare-type: ANT
1081 branch-pattern: '**/{branch}'
1083 - compare-type: REG_EXP
1084 pattern: 'INFO.yaml'
1087 name: '{project-name}-info-yaml-verify'
1088 id: github-info-yaml-verify
1090 # yamllint disable-line rule:key-duplicates
1091 <<: *lf_info_yaml_verify
1093 github-url: 'https://github.com'
1096 url: '{github-url}/{github-org}/{project}'
1099 - lf-infra-github-scm:
1100 url: '{git-clone-url}{github-org}/{project}'
1101 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1103 submodule-recursive: '{submodule-recursive}'
1104 choosing-strategy: default
1105 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1108 - github-pull-request:
1109 trigger-phrase: '^(recheck|reverify)$'
1110 only-trigger-phrase: false
1111 status-context: 'INFO File Verify'
1114 # included-regions MUST match gerrit file-paths
1115 included-regions: 'INFO.yaml'
1116 white-list-target-branches:
1123 - lf_openstack_cron: &lf_openstack_cron
1124 name: lf-openstack-cron
1126 ######################
1127 # Default parameters #
1128 ######################
1131 build-days-to-keep: 7
1135 git-url: '$GIT_URL/$PROJECT'
1136 github-url: 'https://github.com'
1137 openstack-cloud: vex
1140 #####################
1141 # Job Configuration #
1142 #####################
1144 project-type: freestyle
1145 node: '{build-node}'
1147 disabled: '{disable-job}'
1150 - lf-infra-properties:
1151 build-days-to-keep: '{build-days-to-keep}'
1154 - lf-infra-parameters:
1155 project: '{project}'
1158 lftools-version: '{lftools-version}'
1161 - lf-infra-wrappers:
1162 build-timeout: '{build-timeout}'
1163 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1164 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1165 - config-file-provider:
1167 - file-id: clouds-yaml
1168 target: '$HOME/.config/openstack/clouds.yaml'
1170 target: '$HOME/.npmrc'
1172 target: '$HOME/.config/pip/pip.conf'
1175 - timed: '{obj:cron}'
1179 properties-content: OS_CLOUD={openstack-cloud}
1180 - shell: !include-raw-escape: ../shell/openstack-install.sh
1181 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1187 name: '{project-name}-openstack-cron'
1188 id: gerrit-openstack-cron
1189 <<: *lf_openstack_cron
1192 - lf-infra-gerrit-scm:
1193 git-url: '{git-url}'
1194 refspec: 'refs/heads/{branch}'
1196 submodule-recursive: true
1197 choosing-strategy: default
1198 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1201 name: '{project-name}-openstack-cron'
1202 id: github-openstack-cron
1203 <<: *lf_openstack_cron
1206 - lf-infra-github-scm:
1207 url: '{git-clone-url}{github-org}/{project}'
1209 branch: 'refs/heads/{branch}'
1210 submodule-recursive: true
1211 choosing-strategy: default
1212 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1218 - lf_packer_merge: &lf_packer_merge
1219 name: lf-packer-merge
1221 #####################
1222 # Job Configuration #
1223 #####################
1226 - lf-infra-packer-build:
1227 packer-cloud-settings: '{packer-cloud-settings}'
1228 packer-version: '{packer-version}'
1229 platform: '{platforms}'
1230 template: '{templates}'
1233 name: '{project-name}-packer-merge-{platforms}-{templates}'
1234 id: gerrit-packer-merge
1235 <<: *lf_packer_common
1236 # yamllint disable-line rule:key-duplicates
1237 <<: *lf_packer_merge
1239 ######################
1240 # Default parameters #
1241 ######################
1243 git-url: '$GIT_URL/$GERRIT_PROJECT'
1245 gerrit_merge_triggers:
1246 - change-merged-event
1247 - comment-added-contains-event:
1248 comment-contains-value: remerge$
1250 #####################
1251 # Job Configuration #
1252 #####################
1255 - lf-infra-gerrit-scm:
1256 git-url: '{git-url}'
1257 refspec: '$GERRIT_REFSPEC'
1258 branch: '$GERRIT_BRANCH'
1259 submodule-recursive: '{submodule-recursive}'
1260 choosing-strategy: gerrit
1261 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1264 - timed: '{obj:cron}'
1266 server-name: '{gerrit-server-name}'
1267 trigger-on: '{obj:gerrit_merge_triggers}'
1269 - project-compare-type: ANT
1270 project-pattern: '{project}'
1272 - branch-compare-type: ANT
1273 branch-pattern: '**/{branch}'
1275 - compare-type: REG_EXP
1276 pattern: 'packer\/provision\/.*\.sh'
1277 - compare-type: REG_EXP
1278 pattern: 'packer\/provision\/.*\.bat'
1279 - compare-type: REG_EXP
1280 pattern: 'packer\/provision\/.*\.ps1'
1281 - compare-type: REG_EXP
1282 pattern: 'packer\/provision\/{templates}\.yaml'
1283 - compare-type: REG_EXP
1284 pattern: 'packer\/provision\/local-{templates}\.yaml'
1285 - compare-type: REG_EXP
1286 pattern: 'packer\/templates\/{templates}\.json'
1287 - compare-type: REG_EXP
1288 pattern: 'packer\/vars\/{platforms}\.json'
1291 name: '{project-name}-packer-merge-{platforms}-{templates}'
1292 id: github-packer-merge
1293 <<: *lf_packer_common
1294 # yamllint disable-line rule:key-duplicates
1295 <<: *lf_packer_merge
1297 #####################
1298 # Job Configuration #
1299 #####################
1302 - lf-infra-properties:
1303 project: '{project}'
1304 build-days-to-keep: 7
1306 url: '{github-url}/{github-org}/{project}'
1309 - lf-infra-github-scm:
1310 url: '{git-clone-url}{github-org}/{project}'
1312 branch: 'refs/heads/{branch}'
1313 submodule-recursive: '{submodule-recursive}'
1314 choosing-strategy: default
1315 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1318 - timed: '{obj:cron}'
1323 - github-pull-request:
1324 trigger-phrase: '^remerge$'
1325 only-trigger-phrase: true
1326 status-context: 'Packer {platforms}-{templates} Merge'
1331 white-list: '{obj:github_pr_whitelist}'
1332 admin-list: '{obj:github_pr_admin_list}'
1333 # included-regions MUST match Gerrit Trigger file-paths
1335 - 'packer\/provision\/.*\.sh'
1336 - 'packer\/provision\/.*\.bat'
1337 - 'packer\/provision\/.*\.ps1'
1338 - 'packer\/provision\/{templates}\.yaml'
1339 - 'packer\/provision\/local-{templates}\.yaml'
1340 - 'packer\/templates\/{templates}\.json'
1341 - 'packer\/vars\/{platforms}\.json'
1342 white-list-target-branches:
1349 - lf_packer_verify: &lf_packer_verify
1350 name: lf-packer-verify
1352 ######################
1353 # Default parameters #
1354 ######################
1358 gerrit_verify_triggers:
1359 - patchset-created-event:
1360 exclude-drafts: true
1361 exclude-trivial-rebase: false
1362 exclude-no-code-change: false
1363 - draft-published-event
1364 - comment-added-contains-event:
1365 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1367 gerrit_trigger_file_paths:
1368 - compare-type: REG_EXP
1369 pattern: 'packer\/.*'
1371 # github_included_regions MUST match gerrit_trigger_file_paths
1372 github_included_regions:
1375 #####################
1376 # Job Configuration #
1377 #####################
1382 - lf-infra-packer-validate:
1383 packer-cloud-settings: '{packer-cloud-settings}'
1384 packer-version: '{packer-version}'
1387 name: '{project-name}-packer-verify'
1388 id: gerrit-packer-verify
1389 <<: *lf_packer_common
1390 # yamllint disable-line rule:key-duplicates
1391 <<: *lf_packer_verify
1393 ######################
1394 # Default parameters #
1395 ######################
1397 git-url: '$GIT_URL/$GERRIT_PROJECT'
1399 #####################
1400 # Job Configuration #
1401 #####################
1404 - lf-infra-gerrit-scm:
1405 git-url: '{git-url}'
1406 refspec: '$GERRIT_REFSPEC'
1407 branch: '$GERRIT_BRANCH'
1408 submodule-recursive: '{submodule-recursive}'
1409 choosing-strategy: gerrit
1410 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1414 server-name: '{gerrit-server-name}'
1415 trigger-on: '{obj:gerrit_verify_triggers}'
1417 - project-compare-type: ANT
1418 project-pattern: '{project}'
1420 - branch-compare-type: ANT
1421 branch-pattern: '**/{branch}'
1422 file-paths: '{obj:gerrit_trigger_file_paths}'
1425 name: '{project-name}-packer-verify'
1426 id: github-packer-verify
1427 <<: *lf_packer_common
1428 # yamllint disable-line rule:key-duplicates
1429 <<: *lf_packer_verify
1431 #####################
1432 # Job Configuration #
1433 #####################
1436 - lf-infra-properties:
1437 project: '{project}'
1438 build-days-to-keep: 7
1440 url: '{github-url}/{github-org}/{project}'
1443 - lf-infra-github-scm:
1444 url: '{git-clone-url}{github-org}/{project}'
1445 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1447 submodule-recursive: '{submodule-recursive}'
1448 choosing-strategy: default
1449 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1452 - github-pull-request:
1453 trigger-phrase: '^(recheck|reverify)$'
1454 only-trigger-phrase: false
1455 status-context: 'Packer Verify'
1458 included-regions: '{obj:github_included_regions}'
1459 white-list-target-branches: