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:
805 - lf_license_check: &lf_license_check
806 name: lf-license-check
808 ######################
809 # Default parameters #
810 ######################
813 build-days-to-keep: 7
821 git-url: '$GIT_URL/$PROJECT'
822 github-url: 'https://github.com'
824 license-exclude-paths: ''
825 licenses-allowed: Apache-2.0,EPL-1.0,MIT
826 project-pattern: '**'
830 #####################
831 # Job Configuration #
832 #####################
834 project-type: freestyle
839 - lf-infra-properties:
840 build-days-to-keep: '{build-days-to-keep}'
843 - lf-infra-parameters:
847 lftools-version: '{lftools-version}'
851 build-timeout: '{build-timeout}'
852 jenkins-ssh-credential: '{jenkins-ssh-credential}'
856 file-patterns: '{file-patterns}'
857 spdx-disable: '{spdx-disable}'
858 lhc-version: '{lhc-version}'
859 license-exclude-paths: '{license-exclude-paths}'
860 licenses-allowed: '{licenses-allowed}'
866 name: '{project-name}-license-check'
867 id: gerrit-license-check
868 <<: *lf_license_check
870 git-url: '$GIT_URL/$GERRIT_PROJECT'
873 - lf-infra-gerrit-scm:
875 refspec: '$GERRIT_REFSPEC'
876 branch: '$GERRIT_BRANCH'
877 # Submodules are out of the project's control
878 submodule-recursive: false
879 choosing-strategy: gerrit
880 jenkins-ssh-credential: '{jenkins-ssh-credential}'
884 server-name: '{gerrit-server-name}'
885 # Trigger should not be overridable as we want to always run
887 - patchset-created-event:
888 exclude-drafts: false
889 exclude-trivial-rebase: false
890 exclude-no-code-change: false
891 - draft-published-event
892 - comment-added-contains-event:
893 comment-contains-value: recheck$
895 - project-compare-type: ANT
896 project-pattern: '{project-pattern}'
898 - branch-compare-type: ANT
902 name: '{project-name}-license-check'
903 id: github-license-check
904 <<: *lf_license_check
907 - lf-infra-properties:
908 build-days-to-keep: '{build-days-to-keep}'
910 url: '{github-url}/{github-org}/{project}'
913 - lf-infra-github-scm:
914 url: '{git-clone-url}{github-org}/{project}'
915 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
917 # Submodules are out of the project's control
918 submodule-recursive: false
919 choosing-strategy: default
920 jenkins-ssh-credential: '{jenkins-ssh-credential}'
923 - github-pull-request:
924 trigger-phrase: '^recheck$'
925 only-trigger-phrase: false
926 status-context: 'License Check'
929 white-list-target-branches:
936 - lf_info_yaml_verify: &lf_info_yaml_verify
937 name: lf-info-yaml-verify
939 ######################
940 # Default parameters #
941 ######################
943 gerrit_verify_triggers:
944 - patchset-created-event:
946 exclude-trivial-rebase: false
947 exclude-no-code-change: false
948 - draft-published-event
949 - comment-added-contains-event:
950 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
952 #####################
953 # Job Configuration #
954 #####################
959 - shell: !include-raw-escape:
960 - ../shell/git-validate-info-yaml.sh
961 - ../shell/info-file-validate.sh
964 name: '{project-name}-info-yaml-verify'
965 id: gerrit-info-yaml-verify
967 # yamllint disable-line rule:key-duplicates
968 <<: *lf_info_yaml_verify
970 git-url: '$GIT_URL/$GERRIT_PROJECT'
973 - lf-infra-gerrit-scm:
975 refspec: '$GERRIT_REFSPEC'
976 branch: '$GERRIT_BRANCH'
977 submodule-recursive: '{submodule-recursive}'
978 choosing-strategy: gerrit
979 jenkins-ssh-credential: '{jenkins-ssh-credential}'
983 server-name: '{gerrit-server-name}'
984 trigger-on: '{obj:gerrit_verify_triggers}'
986 - project-compare-type: ANT
987 project-pattern: '{project}'
989 - branch-compare-type: ANT
990 branch-pattern: '**/{branch}'
992 - compare-type: REG_EXP
996 name: '{project-name}-info-yaml-verify'
997 id: github-info-yaml-verify
999 # yamllint disable-line rule:key-duplicates
1000 <<: *lf_info_yaml_verify
1002 github-url: 'https://github.com'
1005 url: '{github-url}/{github-org}/{project}'
1008 - lf-infra-github-scm:
1009 url: '{git-clone-url}{github-org}/{project}'
1010 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1012 submodule-recursive: '{submodule-recursive}'
1013 choosing-strategy: default
1014 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1017 - github-pull-request:
1018 trigger-phrase: '^(recheck|reverify)$'
1019 only-trigger-phrase: false
1020 status-context: 'INFO File Verify'
1023 # included-regions MUST match gerrit file-paths
1024 included-regions: 'INFO.yaml'
1025 white-list-target-branches:
1032 - lf_packer_merge: &lf_packer_merge
1033 name: lf-packer-merge
1035 #####################
1036 # Job Configuration #
1037 #####################
1040 - lf-infra-packer-build:
1041 packer-cloud-settings: '{packer-cloud-settings}'
1042 packer-version: '{packer-version}'
1043 platform: '{platforms}'
1044 template: '{templates}'
1047 name: '{project-name}-packer-merge-{platforms}-{templates}'
1048 id: gerrit-packer-merge
1049 <<: *lf_packer_common
1050 # yamllint disable-line rule:key-duplicates
1051 <<: *lf_packer_merge
1053 ######################
1054 # Default parameters #
1055 ######################
1057 git-url: '$GIT_URL/$GERRIT_PROJECT'
1059 gerrit_merge_triggers:
1060 - change-merged-event
1061 - comment-added-contains-event:
1062 comment-contains-value: remerge$
1064 #####################
1065 # Job Configuration #
1066 #####################
1069 - lf-infra-gerrit-scm:
1070 git-url: '{git-url}'
1071 refspec: '$GERRIT_REFSPEC'
1072 branch: '$GERRIT_BRANCH'
1073 submodule-recursive: '{submodule-recursive}'
1074 choosing-strategy: gerrit
1075 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1078 - timed: '{obj:cron}'
1080 server-name: '{gerrit-server-name}'
1081 trigger-on: '{obj:gerrit_merge_triggers}'
1083 - project-compare-type: ANT
1084 project-pattern: '{project}'
1086 - branch-compare-type: ANT
1087 branch-pattern: '**/{branch}'
1089 - compare-type: REG_EXP
1090 pattern: 'packer\/provision\/.*\.sh'
1091 - compare-type: REG_EXP
1092 pattern: 'packer\/provision\/.*\.bat'
1093 - compare-type: REG_EXP
1094 pattern: 'packer\/provision\/.*\.ps1'
1095 - compare-type: REG_EXP
1096 pattern: 'packer\/provision\/{templates}\.yaml'
1097 - compare-type: REG_EXP
1098 pattern: 'packer\/provision\/local-{templates}\.yaml'
1099 - compare-type: REG_EXP
1100 pattern: 'packer\/templates\/{templates}\.json'
1101 - compare-type: REG_EXP
1102 pattern: 'packer\/vars\/{platforms}\.json'
1105 name: '{project-name}-packer-merge-{platforms}-{templates}'
1106 id: github-packer-merge
1107 <<: *lf_packer_common
1108 # yamllint disable-line rule:key-duplicates
1109 <<: *lf_packer_merge
1111 #####################
1112 # Job Configuration #
1113 #####################
1116 - lf-infra-properties:
1117 project: '{project}'
1118 build-days-to-keep: 7
1120 url: '{github-url}/{github-org}/{project}'
1123 - lf-infra-github-scm:
1124 url: '{git-clone-url}{github-org}/{project}'
1126 branch: 'refs/heads/{branch}'
1127 submodule-recursive: '{submodule-recursive}'
1128 choosing-strategy: default
1129 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1132 - timed: '{obj:cron}'
1137 - github-pull-request:
1138 trigger-phrase: '^remerge$'
1139 only-trigger-phrase: true
1140 status-context: 'Packer {platforms}-{templates} Merge'
1145 white-list: '{obj:github_pr_whitelist}'
1146 admin-list: '{obj:github_pr_admin_list}'
1147 # included-regions MUST match Gerrit Trigger file-paths
1149 - 'packer\/provision\/.*\.sh'
1150 - 'packer\/provision\/.*\.bat'
1151 - 'packer\/provision\/.*\.ps1'
1152 - 'packer\/provision\/{templates}\.yaml'
1153 - 'packer\/provision\/local-{templates}\.yaml'
1154 - 'packer\/templates\/{templates}\.json'
1155 - 'packer\/vars\/{platforms}\.json'
1156 white-list-target-branches:
1163 - lf_packer_verify: &lf_packer_verify
1164 name: lf-packer-verify
1166 ######################
1167 # Default parameters #
1168 ######################
1172 gerrit_verify_triggers:
1173 - patchset-created-event:
1174 exclude-drafts: true
1175 exclude-trivial-rebase: false
1176 exclude-no-code-change: false
1177 - draft-published-event
1178 - comment-added-contains-event:
1179 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1181 gerrit_trigger_file_paths:
1182 - compare-type: REG_EXP
1183 pattern: 'packer\/.*'
1185 # github_included_regions MUST match gerrit_trigger_file_paths
1186 github_included_regions:
1189 #####################
1190 # Job Configuration #
1191 #####################
1196 - lf-infra-packer-validate:
1197 packer-cloud-settings: '{packer-cloud-settings}'
1198 packer-version: '{packer-version}'
1201 name: '{project-name}-packer-verify'
1202 id: gerrit-packer-verify
1203 <<: *lf_packer_common
1204 # yamllint disable-line rule:key-duplicates
1205 <<: *lf_packer_verify
1207 ######################
1208 # Default parameters #
1209 ######################
1211 git-url: '$GIT_URL/$GERRIT_PROJECT'
1213 #####################
1214 # Job Configuration #
1215 #####################
1218 - lf-infra-gerrit-scm:
1219 git-url: '{git-url}'
1220 refspec: '$GERRIT_REFSPEC'
1221 branch: '$GERRIT_BRANCH'
1222 submodule-recursive: '{submodule-recursive}'
1223 choosing-strategy: gerrit
1224 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1228 server-name: '{gerrit-server-name}'
1229 trigger-on: '{obj:gerrit_verify_triggers}'
1231 - project-compare-type: ANT
1232 project-pattern: '{project}'
1234 - branch-compare-type: ANT
1235 branch-pattern: '**/{branch}'
1236 file-paths: '{obj:gerrit_trigger_file_paths}'
1239 name: '{project-name}-packer-verify'
1240 id: github-packer-verify
1241 <<: *lf_packer_common
1242 # yamllint disable-line rule:key-duplicates
1243 <<: *lf_packer_verify
1245 #####################
1246 # Job Configuration #
1247 #####################
1250 - lf-infra-properties:
1251 project: '{project}'
1252 build-days-to-keep: 7
1254 url: '{github-url}/{github-org}/{project}'
1257 - lf-infra-github-scm:
1258 url: '{git-clone-url}{github-org}/{project}'
1259 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1261 submodule-recursive: '{submodule-recursive}'
1262 choosing-strategy: default
1263 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1266 - github-pull-request:
1267 trigger-phrase: '^(recheck|reverify)$'
1268 only-trigger-phrase: false
1269 status-context: 'Packer Verify'
1272 included-regions: '{obj:github_included_regions}'
1273 white-list-target-branches: