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