Remove all compass jobs
[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:
645     name: 'email-conductor-ptl'
646     publishers:
647       - email-ext:
648           <<: *email_ptl_defaults
649           recipients: >
650             limingjiang@huawei.com
651
652 - publisher:
653     name: 'email-container4nfv-ptl'
654     publishers:
655       - email-ext:
656           <<: *email_ptl_defaults
657           recipients: >
658             jiaxuan@chinamobile.com
659
660 - publisher:
661     name: 'email-cperf-ptl'
662     publishers:
663       - email-ext:
664           <<: *email_ptl_defaults
665           recipients: >
666             matt.welch@intel.com
667
668 - publisher:
669     name: 'email-daisy-ptl'
670     publishers:
671       - email-ext:
672           <<: *email_ptl_defaults
673           recipients: >
674             hu.zhijiang@zte.com.cn
675
676 - publisher:
677     name: 'email-doctor-ptl'
678     publishers:
679       - email-ext:
680           <<: *email_ptl_defaults
681           recipients: >
682             r-mibu@cq.jp.nec.com
683
684 - publisher:
685     name: 'email-domino-ptl'
686     publishers:
687       - email-ext:
688           <<: *email_ptl_defaults
689           recipients: >
690             ulas.kozat@huawei.com
691
692 - publisher:
693     name: 'email-dovetail-ptl'
694     publishers:
695       - email-ext:
696           <<: *email_ptl_defaults
697           recipients: >
698             georg.kunz@ericsson.com
699
700 - publisher:
701     name: 'email-dpacc-ptl'
702     publishers:
703       - email-ext:
704           <<: *email_ptl_defaults
705           recipients: >
706             denglingli@chinamobile.com
707
708 - publisher:
709     name: 'email-enfv-ptl'
710     publishers:
711       - email-ext:
712           <<: *email_ptl_defaults
713           recipients: >
714             JBuchanan@advaoptical.com
715
716 - publisher:
717     name: 'email-fds-ptl'
718     publishers:
719       - email-ext:
720           <<: *email_ptl_defaults
721           recipients: >
722             fbrockne@cisco.com
723
724 - publisher:
725     name: 'email-fuel-ptl'
726     publishers:
727       - email-ext:
728           <<: *email_ptl_defaults
729           recipients: >
730             Alexandru.Avadanii@enea.com
731
732 - publisher:
733     name: 'email-functest-ptl'
734     publishers:
735       - email-ext:
736           <<: *email_ptl_defaults
737           recipients: >
738             cedric.ollivier@orange.com
739
740 - publisher:
741     name: 'email-ipv6-ptl'
742     publishers:
743       - email-ext:
744           <<: *email_ptl_defaults
745           recipients: >
746             bh526r@att.com
747
748 - publisher:
749     name: 'email-joid-ptl'
750     publishers:
751       - email-ext:
752           <<: *email_ptl_defaults
753           recipients: >
754             artur.tyloch@canonical.com
755
756 - publisher:
757     name: 'email-kvmfornfv-ptl'
758     publishers:
759       - email-ext:
760           <<: *email_ptl_defaults
761           recipients: >
762             raghuveer.reddy@intel.com
763
764 - publisher:
765     name: 'email-models-ptl'
766     publishers:
767       - email-ext:
768           <<: *email_ptl_defaults
769           recipients: >
770             bs3131@att.com
771
772 - publisher:
773     name: 'email-moon-ptl'
774     publishers:
775       - email-ext:
776           <<: *email_ptl_defaults
777           recipients: >
778             ruan.he@orange.com
779
780 - publisher:
781     name: 'email-nfvbench-ptl'
782     publishers:
783       - email-ext:
784           <<: *email_ptl_defaults
785           recipients: >
786             ahothan@cisco.com
787
788 - publisher:
789     name: 'email-onosfw-ptl'
790     publishers:
791       - email-ext:
792           <<: *email_ptl_defaults
793           recipients: >
794             su.wei@huawei.com
795
796 - publisher:
797     name: 'email-opera-ptl'
798     publishers:
799       - email-ext:
800           <<: *email_ptl_defaults
801           recipients: >
802             Yingjun.li@huawei.com
803
804 - publisher:
805     name: 'email-opnfvdocs-ptl'
806     publishers:
807       - email-ext:
808           <<: *email_ptl_defaults
809           recipients: >
810             sofia.wallin@ericsson.com
811
812 - publisher:
813     name: 'email-orchestra-ptl'
814     publishers:
815       - email-ext:
816           <<: *email_ptl_defaults
817           recipients: >
818             giuseppe.carella@fokus.fraunhofer.de
819
820 - publisher:
821     name: 'email-ovn4nfv-ptl'
822     publishers:
823       - email-ext:
824           <<: *email_ptl_defaults
825           recipients: >
826             trinath.somanchi@gmail.com
827
828 - publisher:
829     name: 'email-ovno-ptl'
830     publishers:
831       - email-ext:
832           <<: *email_ptl_defaults
833           recipients: >
834             wsmackie@juniper.net
835
836 - publisher:
837     name: 'email-ovsnfv-ptl'
838     publishers:
839       - email-ext:
840           <<: *email_ptl_defaults
841           recipients: >
842             MarkD.Graymark.d.gray@intel.com
843
844 - publisher:
845     name: 'email-parser-ptl'
846     publishers:
847       - email-ext:
848           <<: *email_ptl_defaults
849           recipients: >
850             shang.xiaodong@zte.com.cn
851
852 - publisher: &email_pharos_ptl_defaults
853     name: 'email-pharos-ptl'
854     publishers:
855       - email-ext:
856           <<: *email_ptl_defaults
857           recipients: >
858             jack@jento.io
859 - publisher:
860     name: 'email-pharos-tools-ptl'
861     <<: *email_pharos_ptl_defaults
862
863 - publisher:
864     name: 'email-promise-ptl'
865     publishers:
866       - email-ext:
867           <<: *email_ptl_defaults
868           recipients: >
869             kunzmann@docomolab-euro.com
870
871 - publisher:
872     name: 'email-qtip-ptl'
873     publishers:
874       - email-ext:
875           <<: *email_ptl_defaults
876           recipients: >
877             wu.zhihui1@zte.com.cn
878
879 - publisher: &email_releng_ptl_defaults
880     name: 'email-releng-ptl'
881     publishers:
882       - email-ext:
883           <<: *email_ptl_defaults
884           recipients: >
885             tbramwell@linuxfoundation.org
886 - publisher:
887     name: 'email-releng-anteater-ptl'
888     <<: *email_releng_ptl_defaults
889 - publisher:
890     name: 'email-releng-testresults-ptl'
891     publishers:
892       - email-ext:
893           <<: *email_ptl_defaults
894           recipients: >
895             fatih.degirmenci@ericsson.com
896             feng.xiaowei@zte.com.cn
897 - publisher:
898     name: 'email-releng-utils-ptl'
899     <<: *email_releng_ptl_defaults
900 - publisher:
901     name: 'email-releng-xci-ptl'
902     publishers:
903       - email-ext:
904           <<: *email_ptl_defaults
905           recipients: >
906             fatih.degirmenci@ericsson.com
907
908 - publisher:
909     name: 'email-samplevnf-ptl'
910     publishers:
911       - email-ext:
912           <<: *email_ptl_defaults
913           recipients: >
914             deepak.s@intel.com
915
916 - publisher:
917     name: 'email-sdnvpn-ptl'
918     publishers:
919       - email-ext:
920           <<: *email_ptl_defaults
921           recipients: >
922             tim.irnich@ericsson.com
923
924 - publisher:
925     name: 'email-securityscanning-ptl'
926     publishers:
927       - email-ext:
928           <<: *email_ptl_defaults
929           recipients: >
930             lhinds@redhat.com
931
932 - publisher:
933     name: 'email-sfc-ptl'
934     publishers:
935       - email-ext:
936           <<: *email_ptl_defaults
937           recipients: >
938             mbuil@suse.com
939
940 - publisher:
941     name: 'email-snaps-ptl'
942     publishers:
943       - email-ext:
944           <<: *email_ptl_defaults
945           recipients: >
946             s.pisarski@cablelabs.com
947
948 - publisher:
949     name: 'email-stor4nfv-ptl'
950     publishers:
951       - email-ext:
952           <<: *email_ptl_defaults
953           recipients: >
954             shane.wang@intel.com
955
956 - publisher:
957     name: 'email-storperf-ptl'
958     publishers:
959       - email-ext:
960           <<: *email_ptl_defaults
961           recipients: >
962             mark.beierl@emc.com
963
964 - publisher:
965     name: 'email-ves-ptl'
966     publishers:
967       - email-ext:
968           <<: *email_ptl_defaults
969           recipients: >
970             bryan.sullivan@att.com
971
972 - publisher:
973     name: 'email-vswitchperf-ptl'
974     publishers:
975       - email-ext:
976           <<: *email_ptl_defaults
977           recipients: >
978             sridhar.rao@spirent.com
979
980 - publisher:
981     name: 'email-yardstick-ptl'
982     publishers:
983       - email-ext:
984           <<: *email_ptl_defaults
985           recipients: >
986             ross.b.brattain@intel.com
987
988 - publisher:
989     name: 'report-provision-result'
990     publishers:
991       - postbuildscript:
992           builders:
993             - role: BOTH
994               build-on:
995                 - SUCCESS
996               build-steps:
997                 - shell: |
998                     echo "export PROVISION_RESULT=PASS" >> $WORKSPACE/installer_track.sh
999                     echo "export INSTALLER=$INSTALLER_TYPE" >> $WORKSPACE/installer_track.sh
1000                     echo "export TIMESTAMP_END="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' >> $WORKSPACE/installer_track.sh
1001                 - shell:
1002                     !include-raw: installer-report.sh
1003           mark-unstable-if-failed: true
1004       - postbuildscript:
1005           builders:
1006             - role: BOTH
1007               build-on:
1008                 - ABORTED
1009                 - FAILURE
1010                 - NOT_BUILT
1011                 - UNSTABLE
1012               build-steps:
1013                 - shell: |
1014                     echo "export PROVISION_RESULT=FAIL" >> $WORKSPACE/installer_track.sh
1015                     echo "export INSTALLER=$INSTALLER_TYPE" >> $WORKSPACE/installer_track.sh
1016                     echo "export TIMESTAMP_END="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' >> $WORKSPACE/installer_track.sh
1017                 - shell:
1018                     !include-raw: installer-report.sh
1019           mark-unstable-if-failed: true