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