Remove maven_metadata_validate function
[releng/global-jjb.git] / jjb / lf-ci-jobs.yaml
1 ---
2 - job-group:
3     name: '{project-name}-ci-jobs'
4
5     jobs:
6       - gerrit-jenkins-cfg-merge
7       - gerrit-jjb-deploy-job
8       - gerrit-jjb-merge
9       - gerrit-jjb-verify
10
11 - job-group:
12     name: '{project-name}-github-ci-jobs'
13
14     jobs:
15       - github-jenkins-cfg-merge
16       - github-jjb-deploy-job
17       - github-jjb-merge
18       - github-jjb-verify
19
20 - job-group:
21     name: '{project-name}-packer-jobs'
22
23     jobs:
24       - gerrit-packer-merge
25       - gerrit-packer-verify
26
27
28 - job-group:
29     name: '{project-name}-github-packer-jobs'
30
31     jobs:
32       - github-packer-merge
33       - github-packer-verify
34
35 ####################
36 # COMMON FUNCTIONS #
37 ####################
38
39 - builder:
40     name: lf-infra-jjbini
41     builders:
42       - config-file-provider:
43           files:
44             - file-id: jjbini
45               target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
46
47 - builder:
48     name: lf-infra-jjbini-sandbox
49     # TODO: Consolidate this into jjbini when JJB2.0 is available.
50     builders:
51       - config-file-provider:
52           files:
53             - file-id: jjbini-sandbox
54               target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
55
56 - lf_packer_file_paths: &lf_packer_file_paths
57     name: lf-packer-file-paths
58     file-paths:
59       - compare-type: ANT
60         pattern: 'packer/vars/{platforms}.json'
61       - compare-type: ANT
62         pattern: 'packer/templates/{templates}.json'
63       - compare-type: ANT
64         pattern: 'packer/provision/*.sh'
65       - compare-type: ANT
66         pattern: 'packer/provision/{templates}.yaml'
67       - compare-type: ANT
68         pattern: 'packer/provision/local-{templates}.yaml'
69       - compare-type: ANT
70         pattern: 'packer/provision/lib/**'
71
72 - lf_packer: &lf_packer_common
73     name: lf-packer-common
74     # Provide configuration common in packer jobs.
75
76     ######################
77     # Default parameters #
78     ######################
79
80     branch: master
81     build-timeout: 90
82     stream: master
83     submodule-recursive: true
84     packer-cloud-settings: packer-cloud-env
85     packer-version: 1.2.2
86
87     #####################
88     # Job Configuration #
89     #####################
90
91     project-type: freestyle
92     node: '{build-node}'
93
94     properties:
95       - lf-infra-properties:
96           project: '{project}'
97           build-days-to-keep: 7
98
99     parameters:
100       - lf-infra-parameters:
101           project: '{project}'
102           stream: '{stream}'
103           branch: '{branch}'
104           lftools-version: '{lftools-version}'
105       - lf-packer-parameters:
106           packer-version: '{packer-version}'
107
108     wrappers:
109       - lf-infra-wrappers:
110           build-timeout: '{build-timeout}'
111           jenkins-ssh-credential: '{jenkins-ssh-credential}'
112
113     publishers:
114       - lf-infra-publish
115
116 - parameter:
117     name: lf-infra-jjb-parameters
118     parameters:
119       - string:
120           name: JJB_VERSION
121           default: '{jjb-version}'
122           description: Jenkins Job Builder version to download and install.
123
124 - parameter:
125     name: lf-packer-parameters
126     parameters:
127       - string:
128           name: PACKER_VERSION
129           default: '{packer-version}'
130           description: Packer version to download and install.
131
132 - lf_jjb_common: &lf_jjb_common
133     name: lf-jjb-common
134
135     ######################
136     # Default parameters #
137     ######################
138
139     branch: master
140     build-timeout: 10
141     jjb-version: 2.0.5
142     stream: master
143     submodule-recursive: true
144
145     gerrit_trigger_file_paths:
146       - compare-type: ANT
147         pattern: '**/*.sh'
148       - compare-type: ANT
149         pattern: '**/*.yaml'
150       - compare-type: ANT
151         pattern: '**/global-jjb'
152
153     #####################
154     # Job Configuration #
155     #####################
156
157     project-type: freestyle
158     node: '{build-node}'
159
160     properties:
161       - lf-infra-properties:
162           project: '{project}'
163           build-days-to-keep: 7
164
165     parameters:
166       - lf-infra-parameters:
167           project: '{project}'
168           stream: '{stream}'
169           branch: '{branch}'
170           lftools-version: '{lftools-version}'
171       - lf-infra-jjb-parameters:
172           jjb-version: '{jjb-version}'
173
174     wrappers:
175       - lf-infra-wrappers:
176           build-timeout: '{build-timeout}'
177           jenkins-ssh-credential: '{jenkins-ssh-credential}'
178
179     publishers:
180       - lf-infra-publish
181
182 ######################
183 # Gerrit Branch Lock #
184 ######################
185
186 - job-template:
187     name: '{project-name}-gerrit-branch-lock-{stream}'
188     id: gerrit-branch-lock
189
190     ######################
191     # Default parameters #
192     ######################
193
194     branch: master
195     git-url: '$GIT_URL/$GERRIT_PROJECT'
196     stream: master
197     gerrit_merge_triggers:
198       - comment-added-contains-event:
199           comment-contains-value: (un)?lock branch$
200
201     #####################
202     # Job Configuration #
203     #####################
204
205     project-type: freestyle
206     node: '{build-node}'
207
208     properties:
209       - lf-infra-properties:
210           project: '{project}'
211           build-days-to-keep: 1
212
213     parameters:
214       - lf-infra-parameters:
215           project: '{project}'
216           stream: '{stream}'
217           branch: '{branch}'
218           lftools-version: '{lftools-version}'
219
220     wrappers:
221       - lf-infra-wrappers:
222           build-timeout: 5
223           jenkins-ssh-credential: '{jenkins-ssh-credential}'
224
225     scm:
226       - lf-infra-gerrit-scm:
227           git-url: '{git-url}'
228           refspec: ''
229           branch: '{branch}'
230           submodule-recursive: false
231           choosing-strategy: default
232           jenkins-ssh-credential: '{jenkins-ssh-credential}'
233
234     triggers:
235       - gerrit:
236           server-name: '{gerrit-server-name}'
237           trigger-on: '{obj:gerrit_merge_triggers}'
238           projects:
239             - project-compare-type: ANT
240               project-pattern: '{project}'
241               branches:
242                 - branch-compare-type: ANT
243                   branch-pattern: '**/{branch}'
244
245     builders:
246       - shell: !include-raw-escape: ../shell/gerrit-branch-lock.sh
247
248
249     publishers:
250       - lf-infra-publish
251
252 ##########################################
253 # Jenkins Configuration Management Merge #
254 ##########################################
255
256 - builder:
257     name: lf-jenkins-cfg-clouds
258     builders:
259       - lf-infra-jjbini
260       - inject:
261           properties-content: 'jenkins_silos={jenkins-silos}'
262       - shell: !include-raw-escape: ../shell/jenkins-configure-clouds.sh
263       - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
264
265 - builder:
266     name: lf-jenkins-cfg-global-vars
267     builders:
268       - lf-infra-jjbini
269       - inject:
270           properties-content: 'jenkins_silos={jenkins-silos}'
271       - shell: !include-raw-escape: ../shell/jenkins-configure-global-vars.sh
272       - shell: rm "$HOME/.config/jenkins_jobs/jenkins_jobs.ini"
273
274 - lf_jenkins_configuration: &lf_jenkins_cfg_merge
275     name: lf-jenkins-cfg-merge
276
277     ######################
278     # Default parameters #
279     ######################
280
281     branch: master
282     cron: '@daily'
283     git-url: '$GIT_URL/$GERRIT_PROJECT'
284     jenkins-silos: production sandbox
285
286     gerrit_merge_triggers:
287       - change-merged-event
288       - comment-added-contains-event:
289           comment-contains-value: remerge$
290
291     gerrit_trigger_file_paths:
292       - compare-type: ANT
293         pattern: 'jenkins-config/**'
294
295     #####################
296     # Job Configuration #
297     #####################
298
299     project-type: freestyle
300     node: '{build-node}'
301     concurrent: false
302
303     properties:
304       - lf-infra-properties:
305           project: '{project}'
306           build-days-to-keep: 1
307
308     parameters:
309       - lf-infra-parameters:
310           project: '{project}'
311           stream: ''
312           branch: master
313           lftools-version: '{lftools-version}'
314
315     wrappers:
316       - lf-infra-wrappers:
317           build-timeout: 10
318           jenkins-ssh-credential: '{jenkins-ssh-credential}'
319
320     builders:
321       - shell: !include-raw-escape:
322           - ../shell/lftools-install.sh
323       - lf-jenkins-cfg-global-vars:
324           jenkins-silos: '{jenkins-silos}'
325       - lf-jenkins-cfg-clouds:
326           jenkins-silos: '{jenkins-silos}'
327
328     publishers:
329       - lf-infra-publish
330
331 - job-template:
332     name: '{project-name}-jenkins-cfg-merge'
333     id: gerrit-jenkins-cfg-merge
334     <<: *lf_jenkins_cfg_merge
335
336     scm:
337       - lf-infra-gerrit-scm:
338           git-url: '{git-url}'
339           refspec: 'refs/heads/{branch}'
340           branch: '{branch}'
341           submodule-recursive: true
342           choosing-strategy: default
343           jenkins-ssh-credential: '{jenkins-ssh-credential}'
344
345     triggers:
346       - timed: '{obj:cron}'
347       - gerrit:
348           server-name: '{gerrit-server-name}'
349           trigger-on: '{obj:gerrit_merge_triggers}'
350           projects:
351             - project-compare-type: ANT
352               project-pattern: '{project}'
353               branches:
354                 - branch-compare-type: ANT
355                   branch-pattern: '**/{branch}'
356               file-paths: '{obj:gerrit_trigger_file_paths}'
357
358 - job-template:
359     name: '{project-name}-jenkins-cfg-merge'
360     id: github-jenkins-cfg-merge
361     <<: *lf_jenkins_cfg_merge
362
363     properties:
364       - github:
365           url: '{git-url}/{github-org}/{project}'
366
367     scm:
368       - lf-infra-github-scm:
369           url: '{git-clone-url}{github-org}/{project}'
370           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
371           branch: '$sha1'
372           submodule-recursive: true
373           choosing-strategy: default
374           jenkins-ssh-credential: '{jenkins-ssh-credential}'
375
376     triggers:
377       - timed: '{obj:cron}'
378       - github
379       - pollscm:
380           cron: ''
381       - lf-infra-github-pr-trigger:
382           trigger-phrase: '^remerge$'
383           only-trigger-phrase: true
384           status-context: 'Jenkins CFG Merge'
385           permit-all: false
386           github-hooks: true
387           github-org: '{github-org}'
388           github_pr_whitelist: '{obj:github_pr_whitelist}'
389           github_pr_admin_list: '{obj:github_pr_admin_list}'
390
391
392 ##################
393 # JJB DEPLOY JOB #
394 ##################
395
396 - lf_jjb_deploy_job: &lf_jjb_deploy_job
397     name: lf-jjb-deploy-job
398
399     ######################
400     # Default parameters #
401     ######################
402
403     branch: master
404     git-url: '$GIT_URL/$GERRIT_PROJECT'
405     stream: master
406     gerrit_jjb_deploy_job_triggers:
407       - comment-added-contains-event:
408           comment-contains-value: 'jjb-deploy[:]* (?!\*+$).+$'
409
410     #####################
411     # Job Configuration #
412     #####################
413
414     project-type: freestyle
415     node: '{build-node}'
416     concurrent: true
417
418     properties:
419       - lf-infra-properties:
420           project: '{project}'
421           build-days-to-keep: 1
422
423     parameters:
424       - lf-infra-parameters:
425           project: '{project}'
426           stream: '{stream}'
427           branch: '{branch}'
428           lftools-version: '{lftools-version}'
429
430     wrappers:
431       - lf-infra-wrappers:
432           build-timeout: 5
433           jenkins-ssh-credential: '{jenkins-ssh-credential}'
434
435     builders:
436       - lf-pip-install:
437           pip-packages: jenkins-job-builder
438       - lf-infra-jjbini-sandbox
439       - shell: !include-raw-escape: ../shell/jjb-deploy-job.sh
440
441     publishers:
442       - lf-infra-publish
443
444 - job-template:
445     name: '{project-name}-jjb-deploy-job'
446     id: gerrit-jjb-deploy-job
447     <<: *lf_jjb_deploy_job
448
449     scm:
450       - lf-infra-gerrit-scm:
451           git-url: '{git-url}'
452           refspec: 'refs/heads/{branch}'
453           branch: '{branch}'
454           submodule-recursive: true
455           choosing-strategy: default
456           jenkins-ssh-credential: '{jenkins-ssh-credential}'
457
458     triggers:
459       - gerrit:
460           server-name: '{gerrit-server-name}'
461           trigger-on: '{obj:gerrit_jjb_deploy_job_triggers}'
462           projects:
463             - project-compare-type: ANT
464               project-pattern: '{project}'
465               branches:
466                 - branch-compare-type: ANT
467                   branch-pattern: '**/{branch}'
468           skip-vote:
469             success: true
470             failed: true
471             unstable: true
472             notbuilt: true
473
474 - job-template:
475     name: '{project-name}-jjb-deploy-job'
476     id: github-jjb-deploy-job
477     <<: *lf_jjb_deploy_job
478
479     properties:
480       - github:
481           url: '{git-url}/{github-org}/{project}'
482
483     scm:
484       - lf-infra-github-scm:
485           url: '{git-clone-url}{github-org}/{project}'
486           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
487           branch: '$sha1'
488           submodule-recursive: true
489           choosing-strategy: default
490           jenkins-ssh-credential: '{jenkins-ssh-credential}'
491
492     triggers:
493       - lf-infra-github-pr-trigger:
494           trigger-phrase: '^jjb-deploy (?!\*+$).+$'
495           only-trigger-phrase: true
496           status-context: 'JJB Deploy Job'
497           permit-all: true
498           github-hooks: true
499           github-org: ''
500           github_pr_whitelist:
501             - ''
502           github_pr_admin_list:
503             - ''
504
505 #############
506 # JJB Merge #
507 #############
508
509 - lf_jjb_merge: &lf_jjb_merge
510     name: lf-jjb-merge
511
512     ######################
513     # Default parameters #
514     ######################
515
516     gerrit_merge_triggers:
517       - change-merged-event
518       - comment-added-contains-event:
519           comment-contains-value: remerge$
520
521     #####################
522     # Job Configuration #
523     #####################
524
525     builders:
526       - lf-infra-jjbini
527       - shell: !include-raw-escape:
528           - ../shell/jjb-install.sh
529           - ../shell/jjb-merge-job.sh
530
531 - job-template:
532     name: '{project-name}-jjb-merge'
533     id: gerrit-jjb-merge
534     <<: *lf_jjb_common
535     # yamllint disable-line rule:key-duplicates
536     <<: *lf_jjb_merge
537
538     git-url: '$GIT_URL/$GERRIT_PROJECT'
539
540     scm:
541       - lf-infra-gerrit-scm:
542           git-url: '{git-url}'
543           refspec: ''
544           branch: '{branch}'
545           submodule-recursive: '{submodule-recursive}'
546           choosing-strategy: default
547           jenkins-ssh-credential: '{jenkins-ssh-credential}'
548
549     triggers:
550       - gerrit:
551           server-name: '{gerrit-server-name}'
552           trigger-on: '{obj:gerrit_merge_triggers}'
553           projects:
554             - project-compare-type: ANT
555               project-pattern: '{project}'
556               branches:
557                 - branch-compare-type: ANT
558                   branch-pattern: '**/{branch}'
559               file-paths: '{obj:gerrit_trigger_file_paths}'
560
561 - job-template:
562     name: '{project-name}-jjb-merge'
563     id: github-jjb-merge
564     <<: *lf_jjb_common
565     # yamllint disable-line rule:key-duplicates
566     <<: *lf_jjb_merge
567
568     properties:
569       - github:
570           url: '{git-url}/{github-org}/{project}'
571
572     scm:
573       - lf-infra-github-scm:
574           url: '{git-clone-url}{github-org}/{project}'
575           refspec: ''
576           branch: 'refs/heads/{branch}'
577           submodule-recursive: '{submodule-recursive}'
578           choosing-strategy: default
579           jenkins-ssh-credential: '{jenkins-ssh-credential}'
580
581     triggers:
582       - github
583       - pollscm:
584           cron: ''
585       - lf-infra-github-pr-trigger:
586           trigger-phrase: '^remerge$'
587           only-trigger-phrase: true
588           status-context: 'JJB Merge'
589           permit-all: false
590           github-hooks: true
591           github-org: '{github-org}'
592           github_pr_whitelist: '{obj:github_pr_whitelist}'
593           github_pr_admin_list: '{obj:github_pr_admin_list}'
594
595 ##############
596 # JJB Verify #
597 ##############
598
599 - lf_jjb_verify: &lf_jjb_verify
600     name: lf-jjb-verify
601
602     ######################
603     # Default parameters #
604     ######################
605
606     gerrit_verify_triggers:
607       - patchset-created-event:
608           exclude-drafts: true
609           exclude-trivial-rebase: false
610           exclude-no-code-change: false
611       - draft-published-event
612       - comment-added-contains-event:
613           comment-contains-value: recheck$
614
615     #####################
616     # Job Configuration #
617     #####################
618
619     concurrent: true
620
621     builders:
622       - lf-infra-jjbini
623       - shell: !include-raw-escape:
624           - ../shell/git-validate-jira-urls.sh
625           - ../shell/jjb-install.sh
626           - ../shell/jjb-verify-job.sh
627           - ../shell/jjb-check-unicode.sh
628       - lf-infra-gpg-verify-git-signature
629
630 - job-template:
631     name: '{project-name}-jjb-verify'
632     id: gerrit-jjb-verify
633     <<: *lf_jjb_common
634     # yamllint disable-line rule:key-duplicates
635     <<: *lf_jjb_verify
636
637     git-url: '$GIT_URL/$GERRIT_PROJECT'
638
639     scm:
640       - lf-infra-gerrit-scm:
641           git-url: '{git-url}'
642           refspec: '$GERRIT_REFSPEC'
643           branch: '$GERRIT_BRANCH'
644           submodule-recursive: '{submodule-recursive}'
645           choosing-strategy: gerrit
646           jenkins-ssh-credential: '{jenkins-ssh-credential}'
647
648     triggers:
649       - gerrit:
650           server-name: '{gerrit-server-name}'
651           trigger-on: '{obj:gerrit_verify_triggers}'
652           projects:
653             - project-compare-type: ANT
654               project-pattern: '{project}'
655               branches:
656                 - branch-compare-type: ANT
657                   branch-pattern: '**/{branch}'
658               file-paths: '{obj:gerrit_trigger_file_paths}'
659
660 - job-template:
661     name: '{project-name}-jjb-verify'
662     id: github-jjb-verify
663     <<: *lf_jjb_common
664     # yamllint disable-line rule:key-duplicates
665     <<: *lf_jjb_verify
666
667     properties:
668       - github:
669           url: '{git-url}/{github-org}/{project}'
670
671     scm:
672       - lf-infra-github-scm:
673           url: '{git-clone-url}{github-org}/{project}'
674           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
675           branch: '$sha1'
676           submodule-recursive: '{submodule-recursive}'
677           choosing-strategy: default
678           jenkins-ssh-credential: '{jenkins-ssh-credential}'
679
680     triggers:
681       - lf-infra-github-pr-trigger:
682           trigger-phrase: '^recheck$'
683           only-trigger-phrase: false
684           status-context: 'JJB Verify'
685           permit-all: true
686           github-hooks: true
687           github-org: ''
688           github_pr_whitelist:
689             - ''
690           github_pr_admin_list:
691             - ''
692
693 ################
694 # Packer Merge #
695 ################
696
697 - lf_packer_merge: &lf_packer_merge
698     name: lf-packer-merge
699
700     ######################
701     # Default parameters #
702     ######################
703
704     gerrit_merge_triggers:
705       - change-merged-event
706       - comment-added-contains-event:
707           comment-contains-value: remerge$
708
709     #####################
710     # Job Configuration #
711     #####################
712
713     builders:
714       - lf-infra-packer-validate:
715           packer-cloud-settings: '{packer-cloud-settings}'
716           packer-version: '{packer-version}'
717       - lf-infra-packer-build:
718           packer-cloud-settings: '{packer-cloud-settings}'
719           packer-version: '{packer-version}'
720           platform: '{platforms}'
721           template: '{templates}'
722
723 - job-template:
724     name: '{project-name}-packer-merge-{platforms}-{templates}'
725     id: gerrit-packer-merge
726     <<: *lf_packer_common
727     # yamllint disable-line rule:key-duplicates
728     <<: *lf_packer_merge
729
730     git-url: '$GIT_URL/$GERRIT_PROJECT'
731
732     scm:
733       - lf-infra-gerrit-scm:
734           git-url: '{git-url}'
735           refspec: '$GERRIT_REFSPEC'
736           branch: '$GERRIT_BRANCH'
737           submodule-recursive: '{submodule-recursive}'
738           choosing-strategy: gerrit
739           jenkins-ssh-credential: '{jenkins-ssh-credential}'
740
741     triggers:
742       - timed: '00 10 1 * *'
743       - gerrit:
744           server-name: '{gerrit-server-name}'
745           trigger-on: '{obj:gerrit_merge_triggers}'
746           projects:
747             - project-compare-type: ANT
748               project-pattern: '{project}'
749               branches:
750                 - branch-compare-type: ANT
751                   branch-pattern: '**/{branch}'
752               <<: *lf_packer_file_paths
753
754 - job-template:
755     name: '{project-name}-packer-merge-{platforms}-{templates}'
756     id: github-packer-merge
757     <<: *lf_packer_common
758     # yamllint disable-line rule:key-duplicates
759     <<: *lf_packer_merge
760
761     properties:
762       - github:
763           url: '{git-url}/{github-org}/{project}'
764
765     scm:
766       - lf-infra-github-scm:
767           url: '{git-clone-url}{github-org}/{project}'
768           refspec: ''
769           branch: 'refs/heads/{branch}'
770           submodule-recursive: '{submodule-recursive}'
771           choosing-strategy: default
772           jenkins-ssh-credential: '{jenkins-ssh-credential}'
773
774     triggers:
775       - timed: '00 10 1 * *'
776       - github
777       - pollscm:
778           cron: ''
779       - lf-infra-github-pr-trigger:
780           trigger-phrase: '^remerge$'
781           only-trigger-phrase: true
782           status-context: 'Packer {platforms}-${templates} Merge'
783           permit-all: false
784           github-hooks: true
785           github-org: '{github-org}'
786           github_pr_whitelist: '{obj:github_pr_whitelist}'
787           github_pr_admin_list: '{obj:github_pr_admin_list}'
788
789 #################
790 # Packer Verify #
791 #################
792
793 - lf_packer_verify: &lf_packer_verify
794     name: lf-packer-verify
795
796     ######################
797     # Default parameters #
798     ######################
799
800     build-timeout: 10
801
802     gerrit_verify_triggers:
803       - patchset-created-event:
804           exclude-drafts: true
805           exclude-trivial-rebase: false
806           exclude-no-code-change: false
807       - draft-published-event
808       - comment-added-contains-event:
809           comment-contains-value: recheck$
810
811     gerrit_trigger_file_paths:
812       - compare-type: ANT
813         pattern: 'packer/vars/**.json'
814       - compare-type: ANT
815         pattern: 'packer/templates/**.json'
816       - compare-type: ANT
817         pattern: 'packer/provision/**.sh'
818       - compare-type: ANT
819         pattern: 'packer/provision/lib/**'
820
821     #####################
822     # Job Configuration #
823     #####################
824
825     concurrent: true
826
827     builders:
828       - lf-infra-packer-validate:
829           packer-cloud-settings: '{packer-cloud-settings}'
830           packer-version: '{packer-version}'
831
832 - job-template:
833     name: '{project-name}-packer-verify'
834     id: gerrit-packer-verify
835     <<: *lf_packer_common
836     # yamllint disable-line rule:key-duplicates
837     <<: *lf_packer_verify
838
839     git-url: '$GIT_URL/$GERRIT_PROJECT'
840
841     scm:
842       - lf-infra-gerrit-scm:
843           git-url: '{git-url}'
844           refspec: '$GERRIT_REFSPEC'
845           branch: '$GERRIT_BRANCH'
846           submodule-recursive: '{submodule-recursive}'
847           choosing-strategy: gerrit
848           jenkins-ssh-credential: '{jenkins-ssh-credential}'
849
850     triggers:
851       - gerrit:
852           server-name: '{gerrit-server-name}'
853           trigger-on: '{obj:gerrit_verify_triggers}'
854           projects:
855             - project-compare-type: ANT
856               project-pattern: '{project}'
857               branches:
858                 - branch-compare-type: ANT
859                   branch-pattern: '**/{branch}'
860               file-paths: '{obj:gerrit_trigger_file_paths}'
861
862 - job-template:
863     name: '{project-name}-packer-verify'
864     id: github-packer-verify
865     <<: *lf_packer_common
866     # yamllint disable-line rule:key-duplicates
867     <<: *lf_packer_verify
868
869     properties:
870       - github:
871           url: '{git-url}/{github-org}/{project}'
872
873     scm:
874       - lf-infra-github-scm:
875           url: '{git-clone-url}{github-org}/{project}'
876           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
877           branch: '$sha1'
878           submodule-recursive: '{submodule-recursive}'
879           choosing-strategy: default
880           jenkins-ssh-credential: '{jenkins-ssh-credential}'
881
882     triggers:
883       - lf-infra-github-pr-trigger:
884           trigger-phrase: '^recheck$'
885           only-trigger-phrase: false
886           status-context: 'Packer Verify'
887           permit-all: true
888           github-hooks: true
889           github-org: ''
890           github_pr_whitelist:
891             - ''
892           github_pr_admin_list:
893             - ''