Update include-raw tag
[releng.git] / jjb / global / releng-macros.yml
1 ---
2 # Releng macros
3 #
4 # NOTE: make sure macros are listed in execution ordered.
5 #
6 # 1. parameters/properties
7 # 2. scm
8 # 3. triggers
9 # 4. wrappers
10 # 5. prebuilders (maven only, configured like Builders)
11 # 6. builders (maven, freestyle, matrix, etc..)
12 # 7. postbuilders (maven only, configured like Builders)
13 # 8. publishers/reporters/notifications
14
15 - parameter:
16     name: project-parameter
17     parameters:
18       - string:
19           name: PROJECT
20           default: '{project}'
21           description: "JJB configured PROJECT parameter to identify an opnfv Gerrit project"
22       - string:
23           name: GS_BASE
24           default: artifacts.opnfv.org/$PROJECT
25           description: "URL to Google Storage."
26       - string:
27           name: GS_BASE_PROXY
28           default: build.opnfv.org/artifacts.opnfv.org/$PROJECT
29           description: "URL to Google Storage proxy"
30       - string:
31           name: BRANCH
32           default: '{branch}'
33           description: "JJB configured BRANCH parameter (e.g. master, stable/danube)"
34       - string:
35           name: GERRIT_BRANCH
36           default: '{branch}'
37           description: "JJB configured GERRIT_BRANCH parameter (deprecated)"
38       - string:
39           name: GERRIT_REFSPEC
40           default: 'refs/heads/{branch}'
41           description: "Default refspec needed for manually triggering."
42       - string:
43           name: TESTAPI_URL
44           default: 'http://testresults.opnfv.org/test/api/v1'
45           description: "Default TestAPI URL, currently using v1"
46
47 - property:
48     name: logrotate-default
49     properties:
50       - build-discarder:
51           days-to-keep: 60
52           num-to-keep: 200
53           artifact-days-to-keep: 60
54           artifact-num-to-keep: 200
55
56 - scm:
57     name: git-scm
58     scm:
59       - git: &git-scm-defaults
60           credentials-id: '$SSH_CREDENTIAL_ID'
61           url: '$GIT_BASE'
62           branches:
63             - 'origin/$BRANCH'
64           timeout: 15
65
66 - scm:
67     name: git-scm-gerrit
68     scm:
69       - git:
70           choosing-strategy: 'gerrit'
71           refspec: '$GERRIT_REFSPEC'
72           <<: *git-scm-defaults
73 - scm:
74     name: git-scm-with-submodules
75     scm:
76       - git:
77           credentials-id: '$SSH_CREDENTIAL_ID'
78           url: '$GIT_BASE'
79           refspec: ''
80           branches:
81             - 'refs/heads/{branch}'
82           skip-tag: true
83           wipe-workspace: true
84           submodule:
85             recursive: true
86             timeout: 20
87
88 - scm:
89     name: git-scm-openstack
90     scm:
91       - git: &git-scm-openstack-defaults
92           url: '$GIT_BASE'
93           branches:
94             - 'origin/$BRANCH'
95           timeout: 15
96
97 - trigger:
98     name: 'daily-trigger-disabled'
99     triggers:
100       - timed: ''
101
102 - trigger:
103     name: 'weekly-trigger-disabled'
104     triggers:
105       - timed: ''
106
107 - trigger:
108     name: gerrit-trigger-patchset-created
109     triggers:
110       - gerrit:
111           server-name: 'gerrit.opnfv.org'
112           trigger-on:
113             - patchset-created-event:
114                 exclude-drafts: 'false'
115                 exclude-trivial-rebase: 'false'
116                 exclude-no-code-change: 'false'
117             - draft-published-event
118             - comment-added-contains-event:
119                 comment-contains-value: 'recheck'
120             - comment-added-contains-event:
121                 comment-contains-value: 'reverify'
122           projects:
123             - project-compare-type: 'ANT'
124               project-pattern: '{project}'
125               branches:
126                 - branch-compare-type: 'ANT'
127                   branch-pattern: '**/{branch}'
128               file-paths:
129                 - compare-type: 'ANT'
130                   pattern: '{files}'
131           skip-vote:
132             successful: false
133             failed: false
134             unstable: false
135             notbuilt: false
136
137 - trigger:
138     name: gerrit-trigger-change-merged
139     triggers:
140       - gerrit:
141           server-name: 'gerrit.opnfv.org'
142           trigger-on:
143             - change-merged-event
144             - comment-added-contains-event:
145                 comment-contains-value: 'remerge'
146           projects:
147             - project-compare-type: 'ANT'
148               project-pattern: '{project}'
149               branches:
150                 - branch-compare-type: 'ANT'
151                   branch-pattern: '**/{branch}'
152               file-paths:
153                 - compare-type: 'ANT'
154                   pattern: '{files}'
155
156 - trigger:
157     name: gerrit-trigger-tag-created
158     triggers:
159       - gerrit:
160           server-name: 'gerrit.opnfv.org'
161           trigger-on:
162             - ref-updated-event
163           projects:
164             - project-compare-type: 'ANT'
165               project-pattern: '{project}'
166               branches:
167                 - branch-compare-type: 'ANT'
168                   branch-pattern: 'refs/tags/**'
169
170 - trigger:
171     name: 'experimental'
172     triggers:
173       - gerrit:
174           server-name: 'gerrit.opnfv.org'
175           trigger-on:
176             - comment-added-contains-event:
177                 comment-contains-value: 'check-experimental'
178           projects:
179             - project-compare-type: 'ANT'
180               project-pattern: '{project}'
181               branches:
182                 - branch-compare-type: 'ANT'
183                   branch-pattern: '**/{branch}'
184               file-paths:
185                 - compare-type: 'ANT'
186                   pattern: '{files}'
187           skip-vote:
188             successful: true
189             failed: true
190             unstable: true
191             notbuilt: true
192
193 - wrapper:
194     name: ssh-agent-wrapper
195     wrappers:
196       - ssh-agent-credentials:
197           users:
198             - 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e'
199
200 - wrapper:
201     name: build-timeout
202     wrappers:
203       - timeout:
204           timeout: '{timeout}'
205           timeout-var: 'BUILD_TIMEOUT'
206           fail: true
207
208 - wrapper:
209     name: fix-workspace-permissions
210     wrappers:
211       - pre-scm-buildstep:
212           - shell: |
213              #!/bin/bash
214              sudo chown -R $USER:$USER $WORKSPACE || exit 1
215
216 - builder:
217     name: upload-under-review-docs-to-opnfv-artifacts
218     builders:
219       - shell: |
220           #!/bin/bash
221           set -o errexit
222           set -o pipefail
223           set -o xtrace
224           export PATH=$PATH:/usr/local/bin/
225
226           [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
227           [[ -d docs/_build/ ]] || exit 0
228
229           echo
230           echo "###########################"
231           echo "UPLOADING DOCS UNDER REVIEW"
232           echo "###########################"
233           echo
234
235           gs_base="artifacts.opnfv.org/$PROJECT/review"
236           gs_path="$gs_base/$GERRIT_CHANGE_NUMBER"
237           local_path="upload/$GERRIT_CHANGE_NUMBER"
238
239           mkdir -p upload
240           mv docs/_build/html/ "$local_path"
241           gsutil -m cp -r "$local_path" "gs://$gs_base"
242
243           gsutil -m setmeta \
244               -h "Content-Type:text/html" \
245               -h "Cache-Control:private, max-age=0, no-transform" \
246               "gs://$gs_path"/**.html > /dev/null 2>&1
247
248           echo "Document link(s):" >> gerrit_comment.txt
249           find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \
250               sed -e "s|^$local_path|    http://$gs_path|" >> gerrit_comment.txt
251
252 # To take advantage of this macro, have your build write
253 # out the file 'gerrit_comment.txt' with information to post
254 # back to gerrit and include this macro in the list of builders.
255 - builder:
256     name: report-build-result-to-gerrit
257     builders:
258       - shell: |
259           #!/bin/bash
260           set -o errexit
261           set -o pipefail
262           set -o xtrace
263           export PATH=$PATH:/usr/local/bin/
264           if [[ -e gerrit_comment.txt ]] ; then
265               echo
266               echo "posting review comment to gerrit..."
267               echo
268               cat gerrit_comment.txt
269               echo
270               ssh -p 29418 gerrit.opnfv.org \
271                   "gerrit review -p $GERRIT_PROJECT \
272                    -m '$(cat gerrit_comment.txt)' \
273                    $GERRIT_PATCHSET_REVISION \
274                    --notify NONE"
275           fi
276
277 - builder:
278     name: remove-old-docs-from-opnfv-artifacts
279     builders:
280       - shell: |
281           #!/bin/bash
282           set -o errexit
283           set -o pipefail
284           set -o xtrace
285           export PATH=$PATH:/usr/local/bin/
286
287           [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
288
289           gs_path="artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER"
290
291           if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then
292               echo
293               echo "Deleting Out-of-dated Documents..."
294               gsutil -m rm -r "gs://$gs_path"
295           fi
296           gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER"
297
298           if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then
299               echo
300               echo "Deleting Out-of-dated Documents..."
301               gsutil -m rm -r "gs://$gs_path"
302           fi
303
304 - builder:
305     name: upload-review-docs
306     builders:
307       - upload-under-review-docs-to-opnfv-artifacts
308       - report-build-result-to-gerrit
309
310 - builder:
311     name: lint-init
312     builders:
313       - shell: |
314           #!/bin/bash
315           # Ensure we start with a clean environment
316           rm -f bash-violation.log python-violation.log yaml-violation.log violation.log
317           git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1 > modified_files
318
319 - builder:
320     name: lint-report
321     builders:
322       - shell: |
323           #!/bin/bash
324           if [[ -s violation.log ]]; then
325               cat violation.log
326               echo "Reporting lint result...."
327               set -x
328               msg="Found syntax error and/or coding style violation(s) in the files modified by your patchset."
329               sed -i -e "1s#^#${msg}\n\n#" violation.log
330               cmd="gerrit review -p $GERRIT_PROJECT -m \"$(cat violation.log)\" $GERRIT_PATCHSET_REVISION --notify NONE"
331               ssh -p 29418 gerrit.opnfv.org "$cmd"
332
333               # Make sure the caller job failed
334               exit 1
335           fi
336
337 - builder:
338     name: lint-bash-code
339     builders:
340       - shell: |
341           #!/bin/bash
342           echo "Checking bash code..."
343           for f in $(egrep '\.sh$' modified_files)
344           do
345               bash -n "$f" 2>> bash-violation.log
346           done
347           if [[ -s bash-violation.log ]]; then
348               echo -e "Bash syntax error(s)\n---" >> violation.log
349               sed -e 's/^/ /g' bash-violation.log >> violation.log
350           fi
351
352 - builder:
353     name: lint-python-code
354     builders:
355       - shell: |
356           #!/bin/bash
357           # Install python package
358           sudo pip install "flake8==2.6.2"
359
360           echo "Checking python code..."
361           for f in $(egrep '\.py$' modified_files)
362           do
363               flake8 "$f" >> python-violation.log
364           done
365           if [[ -s python-violation.log ]]; then
366               echo -e "Python violation(s)\n---" >> violation.log
367               sed -e 's/^/ /g' python-violation.log >> violation.log
368           fi
369
370 - builder:
371     name: lint-yaml-code
372     builders:
373       - shell: |
374           #!/bin/bash
375           # sudo Install python packages
376           sudo pip install "yamllint==1.8.2"
377
378           echo "Checking yaml file..."
379           for f in $(egrep '\.ya?ml$' modified_files)
380           do
381               yamllint "$f" >> yaml-violation.log
382           done
383           if [[ -s yaml-violation.log ]]; then
384               echo -e "YAML violation(s)\n---" >> violation.log
385               sed -e 's/^/ /g' yaml-violation.log >> violation.log
386           fi
387
388 - builder:
389     name: lint-all-code
390     builders:
391       - lint-init
392       - lint-bash-code
393       - lint-python-code
394       - lint-yaml-code
395       - lint-report
396
397 - builder:
398     name: clean-workspace
399     builders:
400       - shell: |
401           #!/bin/bash
402           set -o errexit
403           set -o nounset
404           set -o pipefail
405           sudo /bin/rm -rf "$WORKSPACE"
406
407 - builder:
408     name: clean-workspace-log
409     builders:
410       - shell: |
411           find $WORKSPACE -type f -name '*.log' | xargs rm -f
412
413 - builder:
414     name: track-begin-timestamp
415     builders:
416       - shell: |
417           echo "export TIMESTAMP_START="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' > $WORKSPACE/installer_track.sh
418
419 - publisher:
420     name: archive-artifacts
421     publishers:
422       - archive:
423           artifacts: '{artifacts}'
424           allow-empty: true
425           fingerprint: true
426           latest-only: true
427
428 - publisher:
429     name: publish-coverage
430     publishers:
431       - cobertura:
432           report-file: "coverage.xml"
433           only-stable: "true"
434           health-auto-update: "false"
435           stability-auto-update: "false"
436           zoom-coverage-chart: "true"
437           targets:
438             - files:
439                 healthy: 10
440                 unhealthy: 20
441                 failing: 30
442             - method:
443                 healthy: 50
444                 unhealthy: 40
445                 failing: 30
446
447 # The majority of the email-ext plugin options are set to the default
448 # for this macro so they can be managed through Jenkins' global
449 # settings.
450 - publisher:
451     name: email-jenkins-admins-on-failure
452     publishers:
453       - email-ext:
454           content-type: text
455           attach-build-log: true
456           compress-log: true
457           always: false
458           failure: true
459           send-to:
460             - recipients
461
462 # Email PTL publishers
463 - email_ptl_defaults: &email_ptl_defaults
464     name: 'email_ptl_defaults'
465     content-type: text
466     attach-build-log: true
467     attachments: '*.log'
468     compress-log: true
469     always: true
470     subject: '{subject}'
471
472 - publisher: &email_apex_ptl_defaults
473     name: 'email-apex-ptl'
474     publishers:
475       - email-ext:
476           <<: *email_ptl_defaults
477           recipients: >
478             trozet@redhat.com
479 - publisher:
480     name: 'email-apex-os-net-config-ptl'
481     <<: *email_apex_ptl_defaults
482 - publisher:
483     name: 'email-apex-puppet-tripleo-ptl'
484     <<: *email_apex_ptl_defaults
485 - publisher:
486     name: 'email-apex-tripleo-heat-templates-ptl'
487     <<: *email_apex_ptl_defaults
488
489 - publisher:
490     name: 'email-armband-ptl'
491     publishers:
492       - email-ext:
493           <<: *email_ptl_defaults
494           recipients: >
495             bob.monkman@arm.com
496
497 - publisher:
498     name: 'email-auto-ptl'
499     publishers:
500       - email-ext:
501           <<: *email_ptl_defaults
502           recipients: >
503             tina.tsou@arm.com
504
505 - publisher:
506     name: 'email-availability-ptl'
507     publishers:
508       - email-ext:
509           <<: *email_ptl_defaults
510           recipients: >
511             fuqiao@chinamobile.com
512
513 - publisher:
514     name: 'email-bamboo-ptl'
515     publishers:
516       - email-ext:
517           <<: *email_ptl_defaults
518           recipients: >
519             donaldh@cisco.com
520
521 - publisher:
522     name: 'email-barometer-ptl'
523     publishers:
524       - email-ext:
525           <<: *email_ptl_defaults
526           recipients: >
527             aasmith@redhat.com
528
529 - publisher:
530     name: 'email-bottlenecks-ptl'
531     publishers:
532       - email-ext:
533           <<: *email_ptl_defaults
534           recipients: >
535             gabriel.yuyang@huawei.com
536
537 - publisher:
538     name: 'email-calipso-ptl'
539     publishers:
540       - email-ext:
541           <<: *email_ptl_defaults
542           recipients: >
543             korlev@cisco.com
544
545 - publisher:
546     name: 'email-clover-ptl'
547     publishers:
548       - email-ext:
549           <<: *email_ptl_defaults
550           recipients: >
551             stephen.wong1@huawei.com
552
553 - publisher: &email_compass4nfv_ptl_defaults
554     name: 'email-compass4nfv-ptl'
555     publishers:
556       - email-ext:
557           <<: *email_ptl_defaults
558           recipients: >
559             chigang@huawei.com
560 - publisher:
561     name: 'email-compass-containers-ptl'
562     <<: *email_compass4nfv_ptl_defaults
563
564 - publisher:
565     name: 'email-conductor-ptl'
566     publishers:
567       - email-ext:
568           <<: *email_ptl_defaults
569           recipients: >
570             limingjiang@huawei.com
571
572 - publisher:
573     name: 'email-container4nfv-ptl'
574     publishers:
575       - email-ext:
576           <<: *email_ptl_defaults
577           recipients: >
578             jiaxuan@chinamobile.com
579
580 - publisher:
581     name: 'email-copper-ptl'
582     publishers:
583       - email-ext:
584           <<: *email_ptl_defaults
585           recipients: >
586             aimeeu.opensource@gmail.com
587
588 - publisher:
589     name: 'email-cperf-ptl'
590     publishers:
591       - email-ext:
592           <<: *email_ptl_defaults
593           recipients: >
594             matt.welch@intel.com
595
596 - publisher:
597     name: 'email-daisy-ptl'
598     publishers:
599       - email-ext:
600           <<: *email_ptl_defaults
601           recipients: >
602             hu.zhijiang@zte.com.cn
603
604 - publisher:
605     name: 'email-doctor-ptl'
606     publishers:
607       - email-ext:
608           <<: *email_ptl_defaults
609           recipients: >
610             r-mibu@cq.jp.nec.com
611
612 - publisher:
613     name: 'email-domino-ptl'
614     publishers:
615       - email-ext:
616           <<: *email_ptl_defaults
617           recipients: >
618             ulas.kozat@huawei.com
619
620 - publisher:
621     name: 'email-dovetail-ptl'
622     publishers:
623       - email-ext:
624           <<: *email_ptl_defaults
625           recipients: >
626             georg.kunz@ericsson.com
627
628 - publisher:
629     name: 'email-dpacc-ptl'
630     publishers:
631       - email-ext:
632           <<: *email_ptl_defaults
633           recipients: >
634             denglingli@chinamobile.com
635
636 - publisher:
637     name: 'email-enfv-ptl'
638     publishers:
639       - email-ext:
640           <<: *email_ptl_defaults
641           recipients: >
642             JBuchanan@advaoptical.com
643
644 - publisher:
645     name: 'email-escalator-ptl'
646     publishers:
647       - email-ext:
648           <<: *email_ptl_defaults
649           recipients: >
650             kong.wei2@zte.com.cn
651
652 - publisher:
653     name: 'email-fastpathmetrics-ptl'
654     publishers:
655       - email-ext:
656           <<: *email_ptl_defaults
657           recipients: >
658             maryam.tahhan@intel.com
659
660 - publisher:
661     name: 'email-fds-ptl'
662     publishers:
663       - email-ext:
664           <<: *email_ptl_defaults
665           recipients: >
666             fbrockne@cisco.com
667
668 - publisher:
669     name: 'email-fuel-ptl'
670     publishers:
671       - email-ext:
672           <<: *email_ptl_defaults
673           recipients: >
674             gelkinbard@mirantis.com
675
676 - publisher:
677     name: 'email-functest-ptl'
678     publishers:
679       - email-ext:
680           <<: *email_ptl_defaults
681           recipients: >
682             cedric.ollivier@orange.com
683
684 - publisher:
685     name: 'email-ipv6-ptl'
686     publishers:
687       - email-ext:
688           <<: *email_ptl_defaults
689           recipients: >
690             bh526r@att.com
691
692 - publisher:
693     name: 'email-joid-ptl'
694     publishers:
695       - email-ext:
696           <<: *email_ptl_defaults
697           recipients: >
698             artur.tyloch@canonical.com
699
700 - publisher:
701     name: 'email-kvmfornfv-ptl'
702     publishers:
703       - email-ext:
704           <<: *email_ptl_defaults
705           recipients: >
706             raghuveer.reddy@intel.com
707
708 - publisher:
709     name: 'email-models-ptl'
710     publishers:
711       - email-ext:
712           <<: *email_ptl_defaults
713           recipients: >
714             bs3131@att.com
715
716 - publisher:
717     name: 'email-moon-ptl'
718     publishers:
719       - email-ext:
720           <<: *email_ptl_defaults
721           recipients: >
722             ruan.he@orange.com
723
724 - publisher:
725     name: 'email-multisite-ptl'
726     publishers:
727       - email-ext:
728           <<: *email_ptl_defaults
729           recipients: >
730             joehuang@huawei.com
731
732 - publisher:
733     name: 'email-netready-ptl'
734     publishers:
735       - email-ext:
736           <<: *email_ptl_defaults
737           recipients: >
738             georg.kunz@ericsson.com
739
740 - publisher:
741     name: 'email-nfvbench-ptl'
742     publishers:
743       - email-ext:
744           <<: *email_ptl_defaults
745           recipients: >
746             ahothan@cisco.com
747
748 - publisher:
749     name: 'email-octopus-ptl'
750     publishers:
751       - email-ext:
752           <<: *email_ptl_defaults
753           recipients: >
754             ulrich.kleber@huawei.com
755
756 - publisher:
757     name: 'email-onosfw-ptl'
758     publishers:
759       - email-ext:
760           <<: *email_ptl_defaults
761           recipients: >
762             su.wei@huawei.com
763
764 - publisher:
765     name: 'email-openretriever-ptl'
766     publishers:
767       - email-ext:
768           <<: *email_ptl_defaults
769           recipients: >
770             jiaxuan@chinamobile.com
771
772 - publisher:
773     name: 'email-opera-ptl'
774     publishers:
775       - email-ext:
776           <<: *email_ptl_defaults
777           recipients: >
778             Yingjun.li@huawei.com
779
780 - publisher:
781     name: 'email-opnfvdocs-ptl'
782     publishers:
783       - email-ext:
784           <<: *email_ptl_defaults
785           recipients: >
786             sofia.wallin@ericsson.com
787
788 - publisher:
789     name: 'email-orchestra-ptl'
790     publishers:
791       - email-ext:
792           <<: *email_ptl_defaults
793           recipients: >
794             giuseppe.carella@fokus.fraunhofer.de
795
796 - publisher:
797     name: 'email-ovn4nfv-ptl'
798     publishers:
799       - email-ext:
800           <<: *email_ptl_defaults
801           recipients: >
802             trinath.somanchi@gmail.com
803
804 - publisher:
805     name: 'email-ovno-ptl'
806     publishers:
807       - email-ext:
808           <<: *email_ptl_defaults
809           recipients: >
810             wsmackie@juniper.net
811
812 - publisher:
813     name: 'email-ovsnfv-ptl'
814     publishers:
815       - email-ext:
816           <<: *email_ptl_defaults
817           recipients: >
818             MarkD.Graymark.d.gray@intel.com
819
820 - publisher:
821     name: 'email-parser-ptl'
822     publishers:
823       - email-ext:
824           <<: *email_ptl_defaults
825           recipients: >
826             shang.xiaodong@zte.com.cn
827
828 - publisher: &email_pharos_ptl_defaults
829     name: 'email-pharos-ptl'
830     publishers:
831       - email-ext:
832           <<: *email_ptl_defaults
833           recipients: >
834             zhang.jun3g@zte.com.cn
835 - publisher:
836     name: 'email-pharos-tools-ptl'
837     <<: *email_pharos_ptl_defaults
838
839 - publisher:
840     name: 'email-promise-ptl'
841     publishers:
842       - email-ext:
843           <<: *email_ptl_defaults
844           recipients: >
845             kunzmann@docomolab-euro.com
846
847 - publisher:
848     name: 'email-qtip-ptl'
849     publishers:
850       - email-ext:
851           <<: *email_ptl_defaults
852           recipients: >
853             wu.zhihui1@zte.com.cn
854
855 - publisher: &email_releng_ptl_defaults
856     name: 'email-releng-ptl'
857     publishers:
858       - email-ext:
859           <<: *email_ptl_defaults
860           recipients: >
861             fatih.degirmenci@ericsson.com
862 - publisher:
863     name: 'email-releng-anteater-ptl'
864     <<: *email_releng_ptl_defaults
865 - publisher:
866     name: 'email-releng-testresults-ptl'
867     publishers:
868       - email-ext:
869           <<: *email_ptl_defaults
870           recipients: >
871             fatih.degirmenci@ericsson.com
872             feng.xiaowei@zte.com.cn
873 - publisher:
874     name: 'email-releng-utils-ptl'
875     <<: *email_releng_ptl_defaults
876 - publisher:
877     name: 'email-releng-xci-ptl'
878     <<: *email_releng_ptl_defaults
879
880 - publisher:
881     name: 'email-samplevnf-ptl'
882     publishers:
883       - email-ext:
884           <<: *email_ptl_defaults
885           recipients: >
886             deepak.s@intel.com
887
888 - publisher:
889     name: 'email-sdnvpn-ptl'
890     publishers:
891       - email-ext:
892           <<: *email_ptl_defaults
893           recipients: >
894             tim.irnich@ericsson.com
895
896 - publisher:
897     name: 'email-securityscanning-ptl'
898     publishers:
899       - email-ext:
900           <<: *email_ptl_defaults
901           recipients: >
902             lhinds@redhat.com
903
904 - publisher:
905     name: 'email-sfc-ptl'
906     publishers:
907       - email-ext:
908           <<: *email_ptl_defaults
909           recipients: >
910             mbuil@suse.com
911
912 - publisher:
913     name: 'email-snaps-ptl'
914     publishers:
915       - email-ext:
916           <<: *email_ptl_defaults
917           recipients: >
918             s.pisarski@cablelabs.com
919
920 - publisher:
921     name: 'email-stor4nfv-ptl'
922     publishers:
923       - email-ext:
924           <<: *email_ptl_defaults
925           recipients: >
926             shane.wang@intel.com
927
928 - publisher:
929     name: 'email-storperf-ptl'
930     publishers:
931       - email-ext:
932           <<: *email_ptl_defaults
933           recipients: >
934             mark.beierl@emc.com
935
936 - publisher:
937     name: 'email-ves-ptl'
938     publishers:
939       - email-ext:
940           <<: *email_ptl_defaults
941           recipients: >
942             bryan.sullivan@att.com
943
944 - publisher:
945     name: 'email-vswitchperf-ptl'
946     publishers:
947       - email-ext:
948           <<: *email_ptl_defaults
949           recipients: >
950             sridhar.rao@spirent.com
951
952 - publisher:
953     name: 'email-yardstick-ptl'
954     publishers:
955       - email-ext:
956           <<: *email_ptl_defaults
957           recipients: >
958             ross.b.brattain@intel.com
959
960 - publisher:
961     name: 'report-provision-result'
962     publishers:
963       - postbuildscript:
964           script-only-if-succeeded: true
965           builders:
966             - shell: |
967                 echo "export PROVISION_RESULT=PASS" >> $WORKSPACE/installer_track.sh
968                 echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
969             - shell:
970                 !include-raw: installer-report.sh
971       - postbuildscript:
972           script-only-if-succeeded: false
973           script-only-if-failed: true
974           builders:
975             - shell: |
976                 echo "export PROVISION_RESULT=FAIL" >> $WORKSPACE/installer_track.sh
977                 echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
978             - shell:
979                 !include-raw: installer-report.sh