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_packer_merge: &lf_packer_merge
1109 name: lf-packer-merge
1111 #####################
1112 # Job Configuration #
1113 #####################
1116 - lf-infra-packer-build:
1117 packer-cloud-settings: '{packer-cloud-settings}'
1118 packer-version: '{packer-version}'
1119 platform: '{platforms}'
1120 template: '{templates}'
1123 name: '{project-name}-packer-merge-{platforms}-{templates}'
1124 id: gerrit-packer-merge
1125 <<: *lf_packer_common
1126 # yamllint disable-line rule:key-duplicates
1127 <<: *lf_packer_merge
1129 ######################
1130 # Default parameters #
1131 ######################
1133 git-url: '$GIT_URL/$GERRIT_PROJECT'
1135 gerrit_merge_triggers:
1136 - change-merged-event
1137 - comment-added-contains-event:
1138 comment-contains-value: remerge$
1140 #####################
1141 # Job Configuration #
1142 #####################
1145 - lf-infra-gerrit-scm:
1146 git-url: '{git-url}'
1147 refspec: '$GERRIT_REFSPEC'
1148 branch: '$GERRIT_BRANCH'
1149 submodule-recursive: '{submodule-recursive}'
1150 choosing-strategy: gerrit
1151 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1154 - timed: '{obj:cron}'
1156 server-name: '{gerrit-server-name}'
1157 trigger-on: '{obj:gerrit_merge_triggers}'
1159 - project-compare-type: ANT
1160 project-pattern: '{project}'
1162 - branch-compare-type: ANT
1163 branch-pattern: '**/{branch}'
1165 - compare-type: REG_EXP
1166 pattern: 'packer\/provision\/.*\.sh'
1167 - compare-type: REG_EXP
1168 pattern: 'packer\/provision\/.*\.bat'
1169 - compare-type: REG_EXP
1170 pattern: 'packer\/provision\/.*\.ps1'
1171 - compare-type: REG_EXP
1172 pattern: 'packer\/provision\/{templates}\.yaml'
1173 - compare-type: REG_EXP
1174 pattern: 'packer\/provision\/local-{templates}\.yaml'
1175 - compare-type: REG_EXP
1176 pattern: 'packer\/templates\/{templates}\.json'
1177 - compare-type: REG_EXP
1178 pattern: 'packer\/vars\/{platforms}\.json'
1181 name: '{project-name}-packer-merge-{platforms}-{templates}'
1182 id: github-packer-merge
1183 <<: *lf_packer_common
1184 # yamllint disable-line rule:key-duplicates
1185 <<: *lf_packer_merge
1187 #####################
1188 # Job Configuration #
1189 #####################
1192 - lf-infra-properties:
1193 project: '{project}'
1194 build-days-to-keep: 7
1196 url: '{github-url}/{github-org}/{project}'
1199 - lf-infra-github-scm:
1200 url: '{git-clone-url}{github-org}/{project}'
1202 branch: 'refs/heads/{branch}'
1203 submodule-recursive: '{submodule-recursive}'
1204 choosing-strategy: default
1205 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1208 - timed: '{obj:cron}'
1213 - github-pull-request:
1214 trigger-phrase: '^remerge$'
1215 only-trigger-phrase: true
1216 status-context: 'Packer {platforms}-{templates} Merge'
1221 white-list: '{obj:github_pr_whitelist}'
1222 admin-list: '{obj:github_pr_admin_list}'
1223 # included-regions MUST match Gerrit Trigger file-paths
1225 - 'packer\/provision\/.*\.sh'
1226 - 'packer\/provision\/.*\.bat'
1227 - 'packer\/provision\/.*\.ps1'
1228 - 'packer\/provision\/{templates}\.yaml'
1229 - 'packer\/provision\/local-{templates}\.yaml'
1230 - 'packer\/templates\/{templates}\.json'
1231 - 'packer\/vars\/{platforms}\.json'
1232 white-list-target-branches:
1239 - lf_packer_verify: &lf_packer_verify
1240 name: lf-packer-verify
1242 ######################
1243 # Default parameters #
1244 ######################
1248 gerrit_verify_triggers:
1249 - patchset-created-event:
1250 exclude-drafts: true
1251 exclude-trivial-rebase: false
1252 exclude-no-code-change: false
1253 - draft-published-event
1254 - comment-added-contains-event:
1255 comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
1257 gerrit_trigger_file_paths:
1258 - compare-type: REG_EXP
1259 pattern: 'packer\/.*'
1261 # github_included_regions MUST match gerrit_trigger_file_paths
1262 github_included_regions:
1265 #####################
1266 # Job Configuration #
1267 #####################
1272 - lf-infra-packer-validate:
1273 packer-cloud-settings: '{packer-cloud-settings}'
1274 packer-version: '{packer-version}'
1277 name: '{project-name}-packer-verify'
1278 id: gerrit-packer-verify
1279 <<: *lf_packer_common
1280 # yamllint disable-line rule:key-duplicates
1281 <<: *lf_packer_verify
1283 ######################
1284 # Default parameters #
1285 ######################
1287 git-url: '$GIT_URL/$GERRIT_PROJECT'
1289 #####################
1290 # Job Configuration #
1291 #####################
1294 - lf-infra-gerrit-scm:
1295 git-url: '{git-url}'
1296 refspec: '$GERRIT_REFSPEC'
1297 branch: '$GERRIT_BRANCH'
1298 submodule-recursive: '{submodule-recursive}'
1299 choosing-strategy: gerrit
1300 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1304 server-name: '{gerrit-server-name}'
1305 trigger-on: '{obj:gerrit_verify_triggers}'
1307 - project-compare-type: ANT
1308 project-pattern: '{project}'
1310 - branch-compare-type: ANT
1311 branch-pattern: '**/{branch}'
1312 file-paths: '{obj:gerrit_trigger_file_paths}'
1315 name: '{project-name}-packer-verify'
1316 id: github-packer-verify
1317 <<: *lf_packer_common
1318 # yamllint disable-line rule:key-duplicates
1319 <<: *lf_packer_verify
1321 #####################
1322 # Job Configuration #
1323 #####################
1326 - lf-infra-properties:
1327 project: '{project}'
1328 build-days-to-keep: 7
1330 url: '{github-url}/{github-org}/{project}'
1333 - lf-infra-github-scm:
1334 url: '{git-clone-url}{github-org}/{project}'
1335 refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
1337 submodule-recursive: '{submodule-recursive}'
1338 choosing-strategy: default
1339 jenkins-ssh-credential: '{jenkins-ssh-credential}'
1342 - github-pull-request:
1343 trigger-phrase: '^(recheck|reverify)$'
1344 only-trigger-phrase: false
1345 status-context: 'Packer Verify'
1348 included-regions: '{obj:github_included_regions}'
1349 white-list-target-branches: