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 ######################
80 github-url: 'https://github.com'
82 submodule-recursive: true
83 packer-cloud-settings: packer-cloud-env
90 project-type: freestyle
94 - lf-infra-properties:
99 - lf-infra-parameters:
103 lftools-version: '{lftools-version}'
104 - lf-packer-parameters:
105 packer-version: '{packer-version}'
109 build-timeout: '{build-timeout}'
110 jenkins-ssh-credential: '{jenkins-ssh-credential}'
116 name: lf-infra-jjb-parameters
120 default: '{jjb-version}'
121 description: Jenkins Job Builder version to download and install.
124 name: lf-packer-parameters
128 default: '{packer-version}'
129 description: Packer version to download and install.
131 - lf_jjb_common: &lf_jjb_common
134 ######################
135 # Default parameters #
136 ######################
140 github-url: 'https://github.com'
143 submodule-recursive: true
145 gerrit_trigger_file_paths:
146 - compare-type: REG_EXP
147 pattern: '.*\.groovy'
148 - compare-type: REG_EXP
150 - compare-type: REG_EXP
152 - compare-type: REG_EXP
154 - compare-type: REG_EXP
155 pattern: '.*\.(yaml|yml)'
156 - compare-type: REG_EXP
157 pattern: '.*\/global-jjb'
159 # github_included_regions MUST match gerrit_trigger_file_paths
160 github_included_regions:
168 #####################
169 # Job Configuration #
170 #####################
172 project-type: freestyle
176 - lf-infra-properties:
178 build-days-to-keep: 7
181 - lf-infra-parameters:
185 lftools-version: '{lftools-version}'
186 - lf-infra-jjb-parameters:
187 jjb-version: '{jjb-version}'
191 build-timeout: '{build-timeout}'
192 jenkins-ssh-credential: '{jenkins-ssh-credential}'
197 ######################
198 # Gerrit Branch Lock #
199 ######################
202 name: '{project-name}-gerrit-branch-lock-{stream}'
203 id: gerrit-branch-lock
205 ######################
206 # Default parameters #
207 ######################
210 git-url: '$GIT_URL/$GERRIT_PROJECT'
212 gerrit_merge_triggers:
213 - comment-added-contains-event:
214 comment-contains-value: (un)?lock branch$
216 #####################
217 # Job Configuration #
218 #####################
220 project-type: freestyle
224 - lf-infra-properties:
226 build-days-to-keep: 1
229 - lf-infra-parameters:
233 lftools-version: '{lftools-version}'
238 jenkins-ssh-credential: '{jenkins-ssh-credential}'
241 - lf-infra-gerrit-scm:
245 submodule-recursive: false
246 choosing-strategy: default
247 jenkins-ssh-credential: '{jenkins-ssh-credential}'
251 server-name: '{gerrit-server-name}'
252 trigger-on: '{obj:gerrit_merge_triggers}'
254 - project-compare-type: ANT
255 project-pattern: '{project}'
257 - branch-compare-type: ANT
258 branch-pattern: '**/{branch}'
261 - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
267 ##########################################
268 # Jenkins Configuration Management Merge #
269 ##########################################
272 name: lf-jenkins-cfg-clouds
276 properties-content: 'jenkins_silos={jenkins-silos}'
277 - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
278 - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
281 name: lf-jenkins-cfg-global-vars
285 properties-content: 'jenkins_silos={jenkins-silos}'
286 - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
287 - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
289 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
290 name: lf-jenkins-cfg-merge
292 ######################
293 # Default parameters #
294 ######################
298 git-url: '$GIT_URL/$GERRIT_PROJECT'
299 github-url: 'https://github.com'
300 jenkins-silos: production sandbox
302 gerrit_merge_triggers:
303 - change-merged-event
304 - comment-added-contains-event:
305 comment-contains-value: remerge$
307 gerrit_trigger_file_paths:
308 - compare-type: REG_EXP
309 pattern: 'jenkins-config\/.*'
311 # github_included_regions MUST match gerrit_trigger_file_paths
312 github_included_regions:
313 - 'jenkins-config\/.*'
315 #####################
316 # Job Configuration #
317 #####################
319 project-type: freestyle
324 - lf-infra-properties:
326 build-days-to-keep: 1
329 - lf-infra-parameters:
333 lftools-version: '{lftools-version}'
338 jenkins-ssh-credential: '{jenkins-ssh-credential}'
341 - shell: !include-raw-escape:
342 - ../shell/lftools-install.sh
343 - lf-jenkins-cfg-global-vars:
344 jenkins-silos: '{jenkins-silos}'
345 - lf-jenkins-cfg-clouds:
346 jenkins-silos: '{jenkins-silos}'
352 name: '{project-name}-jenkins-cfg-merge'
353 id: gerrit-jenkins-cfg-merge
354 <<: *lf_jenkins_cfg_merge
357 - lf-infra-gerrit-scm:
359 refspec: 'refs/heads/{branch}'
361 submodule-recursive: true
362 choosing-strategy: default
363 jenkins-ssh-credential: '{jenkins-ssh-credential}'
366 - timed: '{obj:cron}'
368 server-name: '{gerrit-server-name}'
369 trigger-on: '{obj:gerrit_merge_triggers}'
371 - project-compare-type: ANT
372 project-pattern: '{project}'
374 - branch-compare-type: ANT
375 branch-pattern: '**/{branch}'
376 file-paths: '{obj:gerrit_trigger_file_paths}'
379 name: '{project-name}-jenkins-cfg-merge'
380 id: github-jenkins-cfg-merge
381 <<: *lf_jenkins_cfg_merge
384 - lf-infra-properties:
386 build-days-to-keep: 1
388 url: '{github-url}/{github-org}/{project}'
391 - lf-infra-github-scm:
392 url: '{git-clone-url}{github-org}/{project}'
394 branch: 'refs/heads/{branch}'
395 submodule-recursive: true
396 choosing-strategy: default
397 jenkins-ssh-credential: '{jenkins-ssh-credential}'
400 - timed: '{obj:cron}'
404 - github-pull-request:
405 trigger-phrase: '^remerge$'
406 only-trigger-phrase: true
407 status-context: 'Jenkins CFG Merge'
412 white-list: '{obj:github_pr_whitelist}'
413 admin-list: '{obj:github_pr_admin_list}'
414 included-regions: '{obj:github_included_regions}'
415 white-list-target-branches:
419 ###########################
420 # JENKINS SANDBOX CLEANUP #
421 ###########################
423 - lf_jenkins_sandbox_cleanup: &lf_jenkins_sandbox_cleanup
424 name: lf-jenkins-sandbox-cleanup
426 ######################
427 # Default parameters #
428 ######################
431 # Run every Saturday at 08:00 UTC
434 #####################
435 # Job Configuration #
436 #####################
438 project-type: freestyle
443 - lf-infra-jjb-parameters:
444 jjb-version: '{jjb-version}'
447 - timed: '{obj:cron}'
451 - shell: !include-raw-escape:
452 - ../shell/jjb-install.sh
453 - ../shell/jenkins-sandbox-cleanup.sh
454 - ../shell/jjb-cleanup.sh
457 name: '{project-name}-jenkins-sandbox-cleanup'
458 id: gerrit-jenkins-sandbox-cleanup
460 # yamllint disable-line rule:key-duplicates
461 <<: *lf_jenkins_sandbox_cleanup
464 name: '{project-name}-jenkins-sandbox-cleanup'
465 id: github-jenkins-sandbox-cleanup
467 # yamllint disable-line rule:key-duplicates
468 <<: *lf_jenkins_sandbox_cleanup
475 - lf_jjb_deploy_job: &lf_jjb_deploy_job
476 name: lf-jjb-deploy-job
478 ######################
479 # Default parameters #
480 ######################
483 # jjb-deploy should always clone $PROJECT regardless of what
484 # $GERRIT_PROJECT triggered the job.
485 git-url: '$GIT_URL/$PROJECT'
486 github-url: 'https://github.com'
488 gerrit_jjb_deploy_job_triggers:
489 - comment-added-contains-event:
490 comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
492 #####################
493 # Job Configuration #
494 #####################
496 project-type: freestyle
501 - lf-infra-properties:
503 build-days-to-keep: 1
506 - lf-infra-parameters:
510 lftools-version: '{lftools-version}'
515 jenkins-ssh-credential: '{jenkins-ssh-credential}'
519 pip-packages: jenkins-job-builder
520 - lf-infra-jjbini-sandbox
521 - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
527 name: '{project-name}-jjb-deploy-job'
528 id: gerrit-jjb-deploy-job
529 <<: *lf_jjb_deploy_job
532 - lf-infra-gerrit-scm:
534 refspec: 'refs/heads/{branch}'
536 submodule-recursive: true
537 choosing-strategy: default
538 jenkins-ssh-credential: '{jenkins-ssh-credential}'
542 server-name: '{gerrit-server-name}'
543 trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
545 - project-compare-type: ANT
546 project-pattern: '**'
548 - branch-compare-type: ANT
557 name: '{project-name}-jjb-deploy-job'
558 id: github-jjb-deploy-job
559 <<: *lf_jjb_deploy_job
562 - lf-infra-properties:
564 build-days-to-keep: 1
566 url: '{github-url}/{github-org}/{project}'
569 - lf-infra-github-scm:
570 url: '{git-clone-url}{github-org}/{project}'
571 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
573 submodule-recursive: true
574 choosing-strategy: default
575 jenkins-ssh-credential: '{jenkins-ssh-credential}'
578 - github-pull-request:
579 trigger-phrase: '^jjb-deploy (?!\*+$).+$'
580 only-trigger-phrase: true
581 status-context: 'JJB Deploy Job'
584 white-list-target-branches:
591 - lf_jjb_merge: &lf_jjb_merge
594 ######################
595 # Default parameters #
596 ######################
598 gerrit_merge_triggers:
599 - change-merged-event
600 - comment-added-contains-event:
601 comment-contains-value: remerge$
603 #####################
604 # Job Configuration #
605 #####################
609 - shell: !include-raw-escape:
610 - ../shell/jjb-install.sh
611 - ../shell/jjb-merge-job.sh
612 - ../shell/jjb-cleanup.sh
615 name: '{project-name}-jjb-merge'
618 # yamllint disable-line rule:key-duplicates
621 git-url: '$GIT_URL/$GERRIT_PROJECT'
624 - lf-infra-gerrit-scm:
628 submodule-recursive: '{submodule-recursive}'
629 choosing-strategy: default
630 jenkins-ssh-credential: '{jenkins-ssh-credential}'
634 server-name: '{gerrit-server-name}'
635 trigger-on: '{obj:gerrit_merge_triggers}'
637 - project-compare-type: ANT
638 project-pattern: '{project}'
640 - branch-compare-type: ANT
641 branch-pattern: '**/{branch}'
642 file-paths: '{obj:gerrit_trigger_file_paths}'
645 name: '{project-name}-jjb-merge'
648 # yamllint disable-line rule:key-duplicates
651 #####################
652 # Job Configuration #
653 #####################
656 - lf-infra-properties:
658 build-days-to-keep: 7
660 url: '{github-url}/{github-org}/{project}'
663 - lf-infra-github-scm:
664 url: '{git-clone-url}{github-org}/{project}'
666 branch: 'refs/heads/{branch}'
667 submodule-recursive: '{submodule-recursive}'
668 choosing-strategy: default
669 jenkins-ssh-credential: '{jenkins-ssh-credential}'
675 - github-pull-request:
676 trigger-phrase: '^remerge$'
677 only-trigger-phrase: true
678 status-context: 'JJB Merge'
683 white-list: '{obj:github_pr_whitelist}'
684 admin-list: '{obj:github_pr_admin_list}'
685 included-regions: '{obj:github_included_regions}'
686 white-list-target-branches:
693 - lf_jjb_verify: &lf_jjb_verify
696 ######################
697 # Default parameters #
698 ######################
700 gerrit_verify_triggers:
701 - patchset-created-event:
703 exclude-trivial-rebase: false
704 exclude-no-code-change: false
705 - draft-published-event
706 - comment-added-contains-event:
707 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
709 #####################
710 # Job Configuration #
711 #####################
717 - shell: !include-raw-escape:
718 - ../shell/git-validate-jira-urls.sh
719 - ../shell/jjb-install.sh
720 - ../shell/jjb-verify-job.sh
721 - ../shell/jjb-check-unicode.sh
722 - ../shell/jjb-cleanup.sh
723 - lf-infra-gpg-verify-git-signature
726 name: '{project-name}-jjb-verify'
727 id: gerrit-jjb-verify
729 # yamllint disable-line rule:key-duplicates
732 ######################
733 # Default parameters #
734 ######################
736 git-url: '$GIT_URL/$GERRIT_PROJECT'
738 #####################
739 # Job Configuration #
740 #####################
743 - lf-infra-gerrit-scm:
745 refspec: '$GERRIT_REFSPEC'
746 branch: '$GERRIT_BRANCH'
747 submodule-recursive: '{submodule-recursive}'
748 choosing-strategy: gerrit
749 jenkins-ssh-credential: '{jenkins-ssh-credential}'
753 server-name: '{gerrit-server-name}'
754 trigger-on: '{obj:gerrit_verify_triggers}'
756 - project-compare-type: ANT
757 project-pattern: '{project}'
759 - branch-compare-type: ANT
760 branch-pattern: '**/{branch}'
761 file-paths: '{obj:gerrit_trigger_file_paths}'
764 name: '{project-name}-jjb-verify'
765 id: github-jjb-verify
767 # yamllint disable-line rule:key-duplicates
770 #####################
771 # Job Configuration #
772 #####################
775 - lf-infra-properties:
777 build-days-to-keep: 7
779 url: '{github-url}/{github-org}/{project}'
782 - lf-infra-github-scm:
783 url: '{git-clone-url}{github-org}/{project}'
784 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
786 submodule-recursive: '{submodule-recursive}'
787 choosing-strategy: default
788 jenkins-ssh-credential: '{jenkins-ssh-credential}'
791 - github-pull-request:
792 trigger-phrase: '^(recheck|reverify)$'
793 only-trigger-phrase: false
794 status-context: 'JJB Verify'
797 included-regions: '{obj:github_included_regions}'
798 white-list-target-branches:
801 ############################
802 # JJB Verify Upstream GJJB #
803 ############################
805 - lf_jjb_verify: &lf_jjb_verify_upstream_gjjb
806 name: lf-jjb-verify-upstream-gjjb
808 #####################
809 # Job Configuration #
810 #####################
817 git fetch https://gerrit.linuxfoundation.org/infra/releng/global-jjb $GERRIT_REFSPEC
818 git cherry-pick FETCH_HEAD
820 - shell: !include-raw-escape:
821 - ../shell/git-validate-jira-urls.sh
822 - ../shell/jjb-install.sh
823 - ../shell/jjb-verify-job.sh
824 - ../shell/jjb-check-unicode.sh
825 - ../shell/jjb-cleanup.sh
826 - lf-infra-gpg-verify-git-signature
829 name: '{project-name}-jjb-verify-upstream-gjjb'
830 id: gerrit-jjb-verify-upstream-gjjb
832 # yamllint disable-line rule:key-duplicates
833 <<: *lf_jjb_verify_upstream_gjjb
835 ######################
836 # Default parameters #
837 ######################
839 git-url: '$GIT_URL/$PROJECT'
841 #####################
842 # Job Configuration #
843 #####################
846 - lf-infra-gerrit-scm:
850 submodule-recursive: true
851 choosing-strategy: default
852 jenkins-ssh-credential: '{jenkins-ssh-credential}'
856 server-name: 'LinuxFoundation'
858 - patchset-created-event:
860 exclude-trivial-rebase: false
861 exclude-no-code-change: false
862 - draft-published-event
863 - comment-added-contains-event:
864 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
866 - project-compare-type: ANT
867 project-pattern: 'releng/global-jjb'
869 - branch-compare-type: ANT
870 branch-pattern: '**/master'
872 gerrit-build-failed-codereview-value: -1
873 gerrit-build-failed-verified-value: 0
874 gerrit-build-successful-codereview-value: 1
875 gerrit-build-successful-verified-value: 0
881 - lf_license_check: &lf_license_check
882 name: lf-license-check
884 ######################
885 # Default parameters #
886 ######################
889 build-days-to-keep: 7
897 git-url: '$GIT_URL/$PROJECT'
898 github-url: 'https://github.com'
900 license-exclude-paths: ''
901 licenses-allowed: Apache-2.0,EPL-1.0,MIT
902 project-pattern: '**'
906 #####################
907 # Job Configuration #
908 #####################
910 project-type: freestyle
915 - lf-infra-properties:
916 build-days-to-keep: '{build-days-to-keep}'
919 - lf-infra-parameters:
923 lftools-version: '{lftools-version}'
927 build-timeout: '{build-timeout}'
928 jenkins-ssh-credential: '{jenkins-ssh-credential}'
932 file-patterns: '{file-patterns}'
933 spdx-disable: '{spdx-disable}'
934 lhc-version: '{lhc-version}'
935 license-exclude-paths: '{license-exclude-paths}'
936 licenses-allowed: '{licenses-allowed}'
942 name: '{project-name}-license-check'
943 id: gerrit-license-check
944 <<: *lf_license_check
946 git-url: '$GIT_URL/$GERRIT_PROJECT'
949 - lf-infra-gerrit-scm:
951 refspec: '$GERRIT_REFSPEC'
952 branch: '$GERRIT_BRANCH'
953 # Submodules are out of the project's control
954 submodule-recursive: false
955 choosing-strategy: gerrit
956 jenkins-ssh-credential: '{jenkins-ssh-credential}'
960 server-name: '{gerrit-server-name}'
961 # Trigger should not be overridable as we want to always run
963 - patchset-created-event:
964 exclude-drafts: false
965 exclude-trivial-rebase: false
966 exclude-no-code-change: false
967 - draft-published-event
968 - comment-added-contains-event:
969 comment-contains-value: recheck$
971 - project-compare-type: ANT
972 project-pattern: '{project-pattern}'
974 - branch-compare-type: ANT
978 name: '{project-name}-license-check'
979 id: github-license-check
980 <<: *lf_license_check
983 - lf-infra-properties:
984 build-days-to-keep: '{build-days-to-keep}'
986 url: '{github-url}/{github-org}/{project}'
989 - lf-infra-github-scm:
990 url: '{git-clone-url}{github-org}/{project}'
991 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
993 # Submodules are out of the project's control
994 submodule-recursive: false
995 choosing-strategy: default
996 jenkins-ssh-credential: '{jenkins-ssh-credential}'
999 - github-pull-request:
1000 trigger-phrase: '^recheck$'
1001 only-trigger-phrase: false
1002 status-context: 'License Check'
1005 white-list-target-branches:
1008 ####################
1009 # Info YAML Verify #
1010 ####################
1012 - lf_info_yaml_verify: &lf_info_yaml_verify
1013 name: lf-info-yaml-verify
1015 ######################
1016 # Default parameters #
1017 ######################
1019 gerrit_verify_triggers:
1020 - patchset-created-event:
1021 exclude-drafts: true
1022 exclude-trivial-rebase: false
1023 exclude-no-code-change: false
1024 - draft-published-event
1025 - comment-added-contains-event:
1026 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1028 #####################
1029 # Job Configuration #
1030 #####################
1035 - shell: !include-raw-escape:
1036 - ../shell/git-validate-info-yaml.sh
1037 - ../shell/info-file-validate.sh
1040 name: '{project-name}-info-yaml-verify'
1041 id: gerrit-info-yaml-verify
1043 # yamllint disable-line rule:key-duplicates
1044 <<: *lf_info_yaml_verify
1046 git-url: '$GIT_URL/$GERRIT_PROJECT'
1049 - lf-infra-gerrit-scm:
1050 git-url: '{git-url}'
1051 refspec: '$GERRIT_REFSPEC'
1052 branch: '$GERRIT_BRANCH'
1053 submodule-recursive: '{submodule-recursive}'
1054 choosing-strategy: gerrit
1055 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1059 server-name: '{gerrit-server-name}'
1060 trigger-on: '{obj:gerrit_verify_triggers}'
1062 - project-compare-type: ANT
1063 project-pattern: '{project}'
1065 - branch-compare-type: ANT
1066 branch-pattern: '**/{branch}'
1068 - compare-type: REG_EXP
1069 pattern: 'INFO.yaml'
1072 name: '{project-name}-info-yaml-verify'
1073 id: github-info-yaml-verify
1075 # yamllint disable-line rule:key-duplicates
1076 <<: *lf_info_yaml_verify
1078 github-url: 'https://github.com'
1081 url: '{github-url}/{github-org}/{project}'
1084 - lf-infra-github-scm:
1085 url: '{git-clone-url}{github-org}/{project}'
1086 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1088 submodule-recursive: '{submodule-recursive}'
1089 choosing-strategy: default
1090 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1093 - github-pull-request:
1094 trigger-phrase: '^(recheck|reverify)$'
1095 only-trigger-phrase: false
1096 status-context: 'INFO File Verify'
1099 # included-regions MUST match gerrit file-paths
1100 included-regions: 'INFO.yaml'
1101 white-list-target-branches:
1108 - lf_openstack_cron: &lf_openstack_cron
1109 name: lf-openstack-cron
1111 ######################
1112 # Default parameters #
1113 ######################
1116 build-days-to-keep: 7
1119 git-url: '$GIT_URL/$PROJECT'
1120 github-url: 'https://github.com'
1121 openstack-cloud: vex
1124 #####################
1125 # Job Configuration #
1126 #####################
1128 project-type: freestyle
1129 node: '{build-node}'
1133 - lf-infra-properties:
1134 build-days-to-keep: '{build-days-to-keep}'
1137 - lf-infra-parameters:
1138 project: '{project}'
1141 lftools-version: '{lftools-version}'
1144 - lf-infra-wrappers:
1145 build-timeout: '{build-timeout}'
1146 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1147 # Listed after to override openstack-infra-wrappers clouds.yaml definition
1148 - config-file-provider:
1150 - file-id: clouds-yaml
1151 target: '$HOME/.config/openstack/clouds.yaml'
1153 target: '$HOME/.npmrc'
1155 target: '$HOME/.config/pip/pip.conf'
1158 - timed: '{obj:cron}'
1162 properties-content: OS_CLOUD={openstack-cloud}
1163 - shell: !include-raw-escape: ../shell/openstack-install.sh
1164 - shell: !include-raw-escape: ../shell/openstack-protect-in-use-images.sh
1170 name: '{project-name}-openstack-cron'
1171 id: gerrit-openstack-cron
1172 <<: *lf_openstack_cron
1175 - lf-infra-gerrit-scm:
1176 git-url: '{git-url}'
1177 refspec: 'refs/heads/{branch}'
1179 submodule-recursive: true
1180 choosing-strategy: default
1181 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1184 name: '{project-name}-openstack-cron'
1185 id: github-openstack-cron
1186 <<: *lf_openstack_cron
1189 - lf-infra-github-scm:
1190 url: '{git-clone-url}{github-org}/{project}'
1192 branch: 'refs/heads/{branch}'
1193 submodule-recursive: true
1194 choosing-strategy: default
1195 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1201 - lf_packer_merge: &lf_packer_merge
1202 name: lf-packer-merge
1204 #####################
1205 # Job Configuration #
1206 #####################
1209 - lf-infra-packer-build:
1210 packer-cloud-settings: '{packer-cloud-settings}'
1211 packer-version: '{packer-version}'
1212 platform: '{platforms}'
1213 template: '{templates}'
1216 name: '{project-name}-packer-merge-{platforms}-{templates}'
1217 id: gerrit-packer-merge
1218 <<: *lf_packer_common
1219 # yamllint disable-line rule:key-duplicates
1220 <<: *lf_packer_merge
1222 ######################
1223 # Default parameters #
1224 ######################
1226 git-url: '$GIT_URL/$GERRIT_PROJECT'
1228 gerrit_merge_triggers:
1229 - change-merged-event
1230 - comment-added-contains-event:
1231 comment-contains-value: remerge$
1233 #####################
1234 # Job Configuration #
1235 #####################
1238 - lf-infra-gerrit-scm:
1239 git-url: '{git-url}'
1240 refspec: '$GERRIT_REFSPEC'
1241 branch: '$GERRIT_BRANCH'
1242 submodule-recursive: '{submodule-recursive}'
1243 choosing-strategy: gerrit
1244 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1247 - timed: '{obj:cron}'
1249 server-name: '{gerrit-server-name}'
1250 trigger-on: '{obj:gerrit_merge_triggers}'
1252 - project-compare-type: ANT
1253 project-pattern: '{project}'
1255 - branch-compare-type: ANT
1256 branch-pattern: '**/{branch}'
1258 - compare-type: REG_EXP
1259 pattern: 'packer\/provision\/.*\.sh'
1260 - compare-type: REG_EXP
1261 pattern: 'packer\/provision\/.*\.bat'
1262 - compare-type: REG_EXP
1263 pattern: 'packer\/provision\/.*\.ps1'
1264 - compare-type: REG_EXP
1265 pattern: 'packer\/provision\/{templates}\.yaml'
1266 - compare-type: REG_EXP
1267 pattern: 'packer\/provision\/local-{templates}\.yaml'
1268 - compare-type: REG_EXP
1269 pattern: 'packer\/templates\/{templates}\.json'
1270 - compare-type: REG_EXP
1271 pattern: 'packer\/vars\/{platforms}\.json'
1274 name: '{project-name}-packer-merge-{platforms}-{templates}'
1275 id: github-packer-merge
1276 <<: *lf_packer_common
1277 # yamllint disable-line rule:key-duplicates
1278 <<: *lf_packer_merge
1280 #####################
1281 # Job Configuration #
1282 #####################
1285 - lf-infra-properties:
1286 project: '{project}'
1287 build-days-to-keep: 7
1289 url: '{github-url}/{github-org}/{project}'
1292 - lf-infra-github-scm:
1293 url: '{git-clone-url}{github-org}/{project}'
1295 branch: 'refs/heads/{branch}'
1296 submodule-recursive: '{submodule-recursive}'
1297 choosing-strategy: default
1298 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1301 - timed: '{obj:cron}'
1306 - github-pull-request:
1307 trigger-phrase: '^remerge$'
1308 only-trigger-phrase: true
1309 status-context: 'Packer {platforms}-{templates} Merge'
1314 white-list: '{obj:github_pr_whitelist}'
1315 admin-list: '{obj:github_pr_admin_list}'
1316 # included-regions MUST match Gerrit Trigger file-paths
1318 - 'packer\/provision\/.*\.sh'
1319 - 'packer\/provision\/.*\.bat'
1320 - 'packer\/provision\/.*\.ps1'
1321 - 'packer\/provision\/{templates}\.yaml'
1322 - 'packer\/provision\/local-{templates}\.yaml'
1323 - 'packer\/templates\/{templates}\.json'
1324 - 'packer\/vars\/{platforms}\.json'
1325 white-list-target-branches:
1332 - lf_packer_verify: &lf_packer_verify
1333 name: lf-packer-verify
1335 ######################
1336 # Default parameters #
1337 ######################
1341 gerrit_verify_triggers:
1342 - patchset-created-event:
1343 exclude-drafts: true
1344 exclude-trivial-rebase: false
1345 exclude-no-code-change: false
1346 - draft-published-event
1347 - comment-added-contains-event:
1348 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1350 gerrit_trigger_file_paths:
1351 - compare-type: REG_EXP
1352 pattern: 'packer\/.*'
1354 # github_included_regions MUST match gerrit_trigger_file_paths
1355 github_included_regions:
1358 #####################
1359 # Job Configuration #
1360 #####################
1365 - lf-infra-packer-validate:
1366 packer-cloud-settings: '{packer-cloud-settings}'
1367 packer-version: '{packer-version}'
1370 name: '{project-name}-packer-verify'
1371 id: gerrit-packer-verify
1372 <<: *lf_packer_common
1373 # yamllint disable-line rule:key-duplicates
1374 <<: *lf_packer_verify
1376 ######################
1377 # Default parameters #
1378 ######################
1380 git-url: '$GIT_URL/$GERRIT_PROJECT'
1382 #####################
1383 # Job Configuration #
1384 #####################
1387 - lf-infra-gerrit-scm:
1388 git-url: '{git-url}'
1389 refspec: '$GERRIT_REFSPEC'
1390 branch: '$GERRIT_BRANCH'
1391 submodule-recursive: '{submodule-recursive}'
1392 choosing-strategy: gerrit
1393 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1397 server-name: '{gerrit-server-name}'
1398 trigger-on: '{obj:gerrit_verify_triggers}'
1400 - project-compare-type: ANT
1401 project-pattern: '{project}'
1403 - branch-compare-type: ANT
1404 branch-pattern: '**/{branch}'
1405 file-paths: '{obj:gerrit_trigger_file_paths}'
1408 name: '{project-name}-packer-verify'
1409 id: github-packer-verify
1410 <<: *lf_packer_common
1411 # yamllint disable-line rule:key-duplicates
1412 <<: *lf_packer_verify
1414 #####################
1415 # Job Configuration #
1416 #####################
1419 - lf-infra-properties:
1420 project: '{project}'
1421 build-days-to-keep: 7
1423 url: '{github-url}/{github-org}/{project}'
1426 - lf-infra-github-scm:
1427 url: '{git-clone-url}{github-org}/{project}'
1428 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1430 submodule-recursive: '{submodule-recursive}'
1431 choosing-strategy: default
1432 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1435 - github-pull-request:
1436 trigger-phrase: '^(recheck|reverify)$'
1437 only-trigger-phrase: false
1438 status-context: 'Packer Verify'
1441 included-regions: '{obj:github_included_regions}'
1442 white-list-target-branches: