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