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