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