68ec1b3d8d58d1561ac21f2d5e50794450966cbd
[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           # Ensure we start with a clean environment
311           rm -f bash-violation.log python-violation.log yaml-violation.log violation.log
312           git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1) > modified_files
313
314 - builder:
315     name: lint-report
316     builders:
317       - shell: |
318           if [[ -s violation.log ]]; then
319               echo "Reporting lint result..."
320               msg="Found syntax error and/or coding style violation(s) in the files modified by your patchset."
321               sed -i -e '1s/^//$msg\n\n/' violation.log
322               cmd="gerrit review -p $GERRIT_PROJECT -m \"$(cat violation.log)\" $GERRIT_PATCHSET_REVISION --notify NONE"
323               ssh -p 29418 gerrit.opnfv.org "$cmd"
324
325               # Make sure the caller job failed
326               exit 1
327           fi
328
329 - builder:
330     name: lint-bash-code
331     builders:
332       - shell: |
333           echo "Checking bash code..."
334           for f in $(egrep '\.sh$' modified_files)
335           do
336               bash -n "$f" 2>> bash-violation.log
337           done
338           if [[ -s bash-violation.log ]]; then
339               echo -e "Bash syntax error(s)\n---" >> violation.log
340               sed -e 's/^/ /g' bash-violation.log >> violation.log
341           fi
342
343 - builder:
344     name: lint-python-code
345     builders:
346       - shell: |
347           # Install python packages
348           pip install "flake8==2.6.2"
349
350           echo "Checking python code..."
351           for f in $(egrep '\.py$' modified_files)
352           do
353               flake8 "$f" >> python-violation.log
354           done
355           if [[ -s python-violation.log ]]; then
356               echo -e "Python violation(s)\n---" >> violation.log
357               sed -e 's/^/ /g' python-violation.log >> violation.log
358           fi
359
360 - builder:
361     name: lint-yaml-code
362     builders:
363       - shell: |
364           # Install python packages
365           pip install "yamllint==1.8.2"
366
367           echo "Checking yaml file..."
368           for f in $(egrep '\.ya?ml$' modified_files)
369           do
370               yamllint "$f" >> yaml-violation.log
371           done
372           if [[ -s yaml-violation.log ]]; then
373               echo -e "YAML violation(s)\n---" >> violation.log
374               sed -e 's/^/ /g' yaml-violation.log >> violation.log
375           fi
376
377 - builder:
378     name: lint-all-code
379     builders:
380       - lint-init
381       - lint-bash-code
382       - lint-python-code
383       - lint-yaml-code
384       - lint-report
385
386 - builder:
387     name: clean-workspace
388     builders:
389       - shell: |
390           #!/bin/bash
391           set -o errexit
392           set -o nounset
393           set -o pipefail
394           sudo /bin/rm -rf "$WORKSPACE"
395
396 - builder:
397     name: clean-workspace-log
398     builders:
399       - shell: |
400           find $WORKSPACE -type f -name '*.log' | xargs rm -f
401
402 - builder:
403     name: track-begin-timestamp
404     builders:
405       - shell: |
406           echo "export TIMESTAMP_START="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' > $WORKSPACE/installer_track.sh
407
408 - publisher:
409     name: archive-artifacts
410     publishers:
411       - archive:
412           artifacts: '{artifacts}'
413           allow-empty: true
414           fingerprint: true
415           latest-only: true
416
417 - publisher:
418     name: publish-coverage
419     publishers:
420       - cobertura:
421           report-file: "coverage.xml"
422           only-stable: "true"
423           health-auto-update: "false"
424           stability-auto-update: "false"
425           zoom-coverage-chart: "true"
426           targets:
427             - files:
428                 healthy: 10
429                 unhealthy: 20
430                 failing: 30
431             - method:
432                 healthy: 50
433                 unhealthy: 40
434                 failing: 30
435
436 # The majority of the email-ext plugin options are set to the default
437 # for this macro so they can be managed through Jenkins' global
438 # settings.
439 - publisher:
440     name: email-jenkins-admins-on-failure
441     publishers:
442       - email-ext:
443           content-type: text
444           attach-build-log: true
445           compress-log: true
446           always: false
447           failure: true
448           send-to:
449             - recipients
450
451 # Email PTL publishers
452 - email_ptl_defaults: &email_ptl_defaults
453     name: 'email_ptl_defaults'
454     content-type: text
455     attach-build-log: true
456     attachments: '*.log'
457     compress-log: true
458     always: true
459     subject: '{subject}'
460
461 - publisher: &email_apex_ptl_defaults
462     name: 'email-apex-ptl'
463     publishers:
464       - email-ext:
465           <<: *email_ptl_defaults
466           recipients: >
467             trozet@redhat.com
468 - publisher:
469     name: 'email-apex-os-net-config-ptl'
470     <<: *email_apex_ptl_defaults
471 - publisher:
472     name: 'email-apex-puppet-tripleo-ptl'
473     <<: *email_apex_ptl_defaults
474 - publisher:
475     name: 'email-apex-tripleo-heat-templates-ptl'
476     <<: *email_apex_ptl_defaults
477
478 - publisher:
479     name: 'email-armband-ptl'
480     publishers:
481       - email-ext:
482           <<: *email_ptl_defaults
483           recipients: >
484             bob.monkman@arm.com
485
486 - publisher:
487     name: 'email-auto-ptl'
488     publishers:
489       - email-ext:
490           <<: *email_ptl_defaults
491           recipients: >
492             tina.tsou@arm.com
493
494 - publisher:
495     name: 'email-availability-ptl'
496     publishers:
497       - email-ext:
498           <<: *email_ptl_defaults
499           recipients: >
500             fuqiao@chinamobile.com
501
502 - publisher:
503     name: 'email-bamboo-ptl'
504     publishers:
505       - email-ext:
506           <<: *email_ptl_defaults
507           recipients: >
508             donaldh@cisco.com
509
510 - publisher:
511     name: 'email-barometer-ptl'
512     publishers:
513       - email-ext:
514           <<: *email_ptl_defaults
515           recipients: >
516             aasmith@redhat.com
517
518 - publisher:
519     name: 'email-bottlenecks-ptl'
520     publishers:
521       - email-ext:
522           <<: *email_ptl_defaults
523           recipients: >
524             gabriel.yuyang@huawei.com
525
526 - publisher:
527     name: 'email-calipso-ptl'
528     publishers:
529       - email-ext:
530           <<: *email_ptl_defaults
531           recipients: >
532             korlev@cisco.com
533
534 - publisher:
535     name: 'email-clover-ptl'
536     publishers:
537       - email-ext:
538           <<: *email_ptl_defaults
539           recipients: >
540             stephen.wong1@huawei.com
541
542 - publisher: &email_compass4nfv_ptl_defaults
543     name: 'email-compass4nfv-ptl'
544     publishers:
545       - email-ext:
546           <<: *email_ptl_defaults
547           recipients: >
548             chigang@huawei.com
549 - publisher:
550     name: 'email-compass-containers-ptl'
551     <<: *email_compass4nfv_ptl_defaults
552
553 - publisher:
554     name: 'email-conductor-ptl'
555     publishers:
556       - email-ext:
557           <<: *email_ptl_defaults
558           recipients: >
559             limingjiang@huawei.com
560
561 - publisher:
562     name: 'email-container4nfv-ptl'
563     publishers:
564       - email-ext:
565           <<: *email_ptl_defaults
566           recipients: >
567             jiaxuan@chinamobile.com
568
569 - publisher:
570     name: 'email-copper-ptl'
571     publishers:
572       - email-ext:
573           <<: *email_ptl_defaults
574           recipients: >
575             aimeeu.opensource@gmail.com
576
577 - publisher:
578     name: 'email-cperf-ptl'
579     publishers:
580       - email-ext:
581           <<: *email_ptl_defaults
582           recipients: >
583             matt.welch@intel.com
584
585 - publisher:
586     name: 'email-daisy-ptl'
587     publishers:
588       - email-ext:
589           <<: *email_ptl_defaults
590           recipients: >
591             hu.zhijiang@zte.com.cn
592
593 - publisher:
594     name: 'email-doctor-ptl'
595     publishers:
596       - email-ext:
597           <<: *email_ptl_defaults
598           recipients: >
599             r-mibu@cq.jp.nec.com
600
601 - publisher:
602     name: 'email-domino-ptl'
603     publishers:
604       - email-ext:
605           <<: *email_ptl_defaults
606           recipients: >
607             ulas.kozat@huawei.com
608
609 - publisher:
610     name: 'email-dovetail-ptl'
611     publishers:
612       - email-ext:
613           <<: *email_ptl_defaults
614           recipients: >
615             hongbo.tianhongbo@huawei.com
616
617 - publisher:
618     name: 'email-dpacc-ptl'
619     publishers:
620       - email-ext:
621           <<: *email_ptl_defaults
622           recipients: >
623             denglingli@chinamobile.com
624
625 - publisher:
626     name: 'email-enfv-ptl'
627     publishers:
628       - email-ext:
629           <<: *email_ptl_defaults
630           recipients: >
631             JBuchanan@advaoptical.com
632
633 - publisher:
634     name: 'email-escalator-ptl'
635     publishers:
636       - email-ext:
637           <<: *email_ptl_defaults
638           recipients: >
639             kong.wei2@zte.com.cn
640
641 - publisher:
642     name: 'email-fastpathmetrics-ptl'
643     publishers:
644       - email-ext:
645           <<: *email_ptl_defaults
646           recipients: >
647             maryam.tahhan@intel.com
648
649 - publisher:
650     name: 'email-fds-ptl'
651     publishers:
652       - email-ext:
653           <<: *email_ptl_defaults
654           recipients: >
655             fbrockne@cisco.com
656
657 - publisher:
658     name: 'email-fuel-ptl'
659     publishers:
660       - email-ext:
661           <<: *email_ptl_defaults
662           recipients: >
663             gelkinbard@mirantis.com
664
665 - publisher:
666     name: 'email-functest-ptl'
667     publishers:
668       - email-ext:
669           <<: *email_ptl_defaults
670           recipients: >
671             cedric.ollivier@orange.com
672
673 - publisher:
674     name: 'email-ipv6-ptl'
675     publishers:
676       - email-ext:
677           <<: *email_ptl_defaults
678           recipients: >
679             bh526r@att.com
680
681 - publisher:
682     name: 'email-joid-ptl'
683     publishers:
684       - email-ext:
685           <<: *email_ptl_defaults
686           recipients: >
687             artur.tyloch@canonical.com
688
689 - publisher:
690     name: 'email-kvmfornfv-ptl'
691     publishers:
692       - email-ext:
693           <<: *email_ptl_defaults
694           recipients: >
695             raghuveer.reddy@intel.com
696
697 - publisher:
698     name: 'email-models-ptl'
699     publishers:
700       - email-ext:
701           <<: *email_ptl_defaults
702           recipients: >
703             bs3131@att.com
704
705 - publisher:
706     name: 'email-moon-ptl'
707     publishers:
708       - email-ext:
709           <<: *email_ptl_defaults
710           recipients: >
711             ruan.he@orange.com
712
713 - publisher:
714     name: 'email-multisite-ptl'
715     publishers:
716       - email-ext:
717           <<: *email_ptl_defaults
718           recipients: >
719             joehuang@huawei.com
720
721 - publisher:
722     name: 'email-netready-ptl'
723     publishers:
724       - email-ext:
725           <<: *email_ptl_defaults
726           recipients: >
727             georg.kunz@ericsson.com
728
729 - publisher:
730     name: 'email-nfvbench-ptl'
731     publishers:
732       - email-ext:
733           <<: *email_ptl_defaults
734           recipients: >
735             ahothan@cisco.com
736
737 - publisher:
738     name: 'email-octopus-ptl'
739     publishers:
740       - email-ext:
741           <<: *email_ptl_defaults
742           recipients: >
743             ulrich.kleber@huawei.com
744
745 - publisher:
746     name: 'email-onosfw-ptl'
747     publishers:
748       - email-ext:
749           <<: *email_ptl_defaults
750           recipients: >
751             su.wei@huawei.com
752
753 - publisher:
754     name: 'email-openretriever-ptl'
755     publishers:
756       - email-ext:
757           <<: *email_ptl_defaults
758           recipients: >
759             jiaxuan@chinamobile.com
760
761 - publisher:
762     name: 'email-opera-ptl'
763     publishers:
764       - email-ext:
765           <<: *email_ptl_defaults
766           recipients: >
767             Yingjun.li@huawei.com
768
769 - publisher:
770     name: 'email-opnfvdocs-ptl'
771     publishers:
772       - email-ext:
773           <<: *email_ptl_defaults
774           recipients: >
775             sofia.wallin@ericsson.com
776
777 - publisher:
778     name: 'email-orchestra-ptl'
779     publishers:
780       - email-ext:
781           <<: *email_ptl_defaults
782           recipients: >
783             giuseppe.carella@fokus.fraunhofer.de
784
785 - publisher:
786     name: 'email-ovn4nfv-ptl'
787     publishers:
788       - email-ext:
789           <<: *email_ptl_defaults
790           recipients: >
791             trinath.somanchi@gmail.com
792
793 - publisher:
794     name: 'email-ovno-ptl'
795     publishers:
796       - email-ext:
797           <<: *email_ptl_defaults
798           recipients: >
799             wsmackie@juniper.net
800
801 - publisher:
802     name: 'email-ovsnfv-ptl'
803     publishers:
804       - email-ext:
805           <<: *email_ptl_defaults
806           recipients: >
807             MarkD.Graymark.d.gray@intel.com
808
809 - publisher:
810     name: 'email-parser-ptl'
811     publishers:
812       - email-ext:
813           <<: *email_ptl_defaults
814           recipients: >
815             shang.xiaodong@zte.com.cn
816
817 - publisher: &email_pharos_ptl_defaults
818     name: 'email-pharos-ptl'
819     publishers:
820       - email-ext:
821           <<: *email_ptl_defaults
822           recipients: >
823             jack.morgan@intel.com
824 - publisher:
825     name: 'email-pharos-tools-ptl'
826     <<: *email_pharos_ptl_defaults
827
828 - publisher:
829     name: 'email-promise-ptl'
830     publishers:
831       - email-ext:
832           <<: *email_ptl_defaults
833           recipients: >
834             kunzmann@docomolab-euro.com
835
836 - publisher:
837     name: 'email-qtip-ptl'
838     publishers:
839       - email-ext:
840           <<: *email_ptl_defaults
841           recipients: >
842             wu.zhihui1@zte.com.cn
843
844 - publisher: &email_releng_ptl_defaults
845     name: 'email-releng-ptl'
846     publishers:
847       - email-ext:
848           <<: *email_ptl_defaults
849           recipients: >
850             fatih.degirmenci@ericsson.com
851 - publisher:
852     name: 'email-releng-anteater-ptl'
853     <<: *email_releng_ptl_defaults
854 - publisher:
855     name: 'email-releng-testresults-ptl'
856     publishers:
857       - email-ext:
858           <<: *email_ptl_defaults
859           recipients: >
860             fatih.degirmenci@ericsson.com
861             feng.xiaowei@zte.com.cn
862 - publisher:
863     name: 'email-releng-utils-ptl'
864     <<: *email_releng_ptl_defaults
865 - publisher:
866     name: 'email-releng-xci-ptl'
867     <<: *email_releng_ptl_defaults
868
869 - publisher:
870     name: 'email-samplevnf-ptl'
871     publishers:
872       - email-ext:
873           <<: *email_ptl_defaults
874           recipients: >
875             deepak.s@intel.com
876
877 - publisher:
878     name: 'email-sdnvpn-ptl'
879     publishers:
880       - email-ext:
881           <<: *email_ptl_defaults
882           recipients: >
883             tim.irnich@ericsson.com
884
885 - publisher:
886     name: 'email-securityscanning-ptl'
887     publishers:
888       - email-ext:
889           <<: *email_ptl_defaults
890           recipients: >
891             lhinds@redhat.com
892
893 - publisher:
894     name: 'email-sfc-ptl'
895     publishers:
896       - email-ext:
897           <<: *email_ptl_defaults
898           recipients: >
899             ManuelBuilmbuil@suse.com
900
901 - publisher:
902     name: 'email-snaps-ptl'
903     publishers:
904       - email-ext:
905           <<: *email_ptl_defaults
906           recipients: >
907             s.pisarski@cablelabs.com
908
909 - publisher:
910     name: 'email-stor4nfv-ptl'
911     publishers:
912       - email-ext:
913           <<: *email_ptl_defaults
914           recipients: >
915             shane.wang@intel.com
916
917 - publisher:
918     name: 'email-storperf-ptl'
919     publishers:
920       - email-ext:
921           <<: *email_ptl_defaults
922           recipients: >
923             mark.beierl@emc.com
924
925 - publisher:
926     name: 'email-ves-ptl'
927     publishers:
928       - email-ext:
929           <<: *email_ptl_defaults
930           recipients: >
931             bryan.sullivan@att.com
932
933 - publisher:
934     name: 'email-vswitchperf-ptl'
935     publishers:
936       - email-ext:
937           <<: *email_ptl_defaults
938           recipients: >
939             sridhar.rao@spirent.com
940
941 - publisher:
942     name: 'email-yardstick-ptl'
943     publishers:
944       - email-ext:
945           <<: *email_ptl_defaults
946           recipients: >
947             ross.b.brattain@intel.com
948
949 - publisher:
950     name: 'report-provision-result'
951     publishers:
952       - postbuildscript:
953           script-only-if-succeeded: true
954           builders:
955             - shell: |
956                 echo "export PROVISION_RESULT=SUCCEED" >> $WORKSPACE/installer_track.sh
957                 echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
958             - shell:
959                 !include-raw-escape: installer-report.sh
960       - postbuildscript:
961           script-only-if-failed: true
962           builders:
963             - shell: |
964                 echo "export PROVISION_RESULT=FAIL" >> $WORKSPACE/installer_track.sh
965                 echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
966             - shell:
967                 !include-raw-escape: installer-report.sh