Add macro for reporting the provision result
[releng.git] / jjb / global / releng-macros.yml
index e00047b..c2cff32 100644 (file)
           submodule:
             recursive: true
             timeout: 20
+
+- scm:
+    name: git-scm-openstack
+    scm:
+      - git: &git-scm-openstack-defaults
+          url: '$GIT_BASE'
+          branches:
+            - 'origin/$BRANCH'
+          timeout: 15
+
 - trigger:
     name: 'daily-trigger-disabled'
     triggers:
              #!/bin/bash
              sudo chown -R $USER:$USER $WORKSPACE || exit 1
 
-- builder:
-    name: build-html-and-pdf-docs-output
-    builders:
-      - shell: |
-          #!/bin/bash
-          set -o errexit
-          set -o xtrace
-          export PATH=$PATH:/usr/local/bin/
-          git clone ssh://gerrit.opnfv.org:29418/opnfvdocs docs_build/_opnfvdocs
-          GERRIT_COMMENT=gerrit_comment.txt ./docs_build/_opnfvdocs/scripts/docs-build.sh
-
 - builder:
     name: upload-under-review-docs-to-opnfv-artifacts
     builders:
           export PATH=$PATH:/usr/local/bin/
 
           [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
-          [[ -d docs_output ]] || exit 0
+          [[ -d docs/_build/ ]] || exit 0
 
           echo
           echo "###########################"
           local_path="upload/$GERRIT_CHANGE_NUMBER"
 
           mkdir -p upload
-          mv docs_output "$local_path"
+          mv docs/_build/html/ "$local_path"
           gsutil -m cp -r "$local_path" "gs://$gs_base"
 
           gsutil -m setmeta \
           find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \
               sed -e "s|^$local_path|    http://$gs_path|" >> gerrit_comment.txt
 
-- builder:
-    name: upload-generated-docs-to-opnfv-artifacts
-    builders:
-      - shell: |
-          #!/bin/bash
-          set -o errexit
-          set -o pipefail
-          set -o xtrace
-          export PATH=$PATH:/usr/local/bin/
-
-          [[ -d docs_output ]] || exit 0
-
-          echo
-          echo "########################"
-          echo "UPLOADING GENERATED DOCS"
-          echo "########################"
-          echo
-
-          echo "gs_path="$GS_URL/docs""
-          echo "local_path="upload/docs""
-
-          gs_path="$GS_URL/docs"
-          local_path="upload/docs"
-
-          mkdir -p upload
-          mv docs_output "$local_path"
-          ls "$local_path"
-
-          echo "gsutil -m cp -r "$local_path"/* "gs://$gs_path""
-          gsutil -m cp -r "$local_path"/* "gs://$gs_path"
-
-          gsutil -m setmeta \
-              -h "Content-Type:text/html" \
-              -h "Cache-Control:private, max-age=0, no-transform" \
-              "gs://$gs_path"/**.html > /dev/null 2>&1
-
-          echo "Document link(s):" >> gerrit_comment.txt
-          find "$local_path" | grep -e 'index.html$' -e 'pdf$' | \
-              sed -e "s|^$local_path|    http://$gs_path|" >> gerrit_comment.txt
-
 # To take advantage of this macro, have your build write
 # out the file 'gerrit_comment.txt' with information to post
 # back to gerrit and include this macro in the list of builders.
               gsutil -m rm -r "gs://$gs_path"
           fi
 
-- builder:
-    name: build-and-upload-artifacts-json-api
-    builders:
-      - shell: |
-          #!/bin/bash
-          set -o errexit
-          set -o pipefail
-          export PATH=$PATH:/usr/local/bin/
-
-          virtualenv -p python2.7 $WORKSPACE/releng_artifacts
-          source $WORKSPACE/releng_artifacts/bin/activate
-
-          # install python packages
-          pip install google-api-python-client
-
-          # generate and upload index file
-          echo "Generating Artifacts API ..."
-          python $WORKSPACE/utils/opnfv-artifacts.py > index.json
-          gsutil cp index.json gs://artifacts.opnfv.org/index.json
-
-          deactivate
-
 - builder:
     name: lint-python-code
     builders:
 - builder:
     name: upload-review-docs
     builders:
-      - build-html-and-pdf-docs-output
       - upload-under-review-docs-to-opnfv-artifacts
       - report-build-result-to-gerrit
 
-- builder:
-    name: upload-merged-docs
-    builders:
-      - build-html-and-pdf-docs-output
-      - upload-generated-docs-to-opnfv-artifacts
-      - report-build-result-to-gerrit
-      - remove-old-docs-from-opnfv-artifacts
-
 - builder:
     name: check-bash-syntax
     builders:
           export PATH=$PATH:/usr/local/bin/
 
           # install python packages
-          pip install "yamllint==1.6.0"
+          sudo pip install "yamllint==1.8.2"
 
           # generate and upload lint log
           echo "Running yaml code on $PROJECT ..."
 
+          # Get list of yaml files
+          YAML_FILES=$(git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1 | egrep "ya?ml$") || true
+
+          #If YAML_FILES is none exit with 0
+          if [ -z "$YAML_FILES" ]; then
+              exit 0
+          fi
+
           # Ensure we start with a clean environment
           rm -f yaml-violation.log lint.log
 
-          # Get number of yaml violations. If none, this will be an
-          # empty string: ""
-          find . \
-              -type f -name "*.yml" -print \
-              -o -name "*.yaml" -print | \
-              xargs yamllint > yaml-violation.log || true
+          # Yamllint files only in patchset
+          for yamlfile in $YAML_FILES; do
+            yamllint $yamlfile >> yaml-violation.log || true
+          done
 
           if [ -s "yaml-violation.log" ]; then
-            SHOWN=$(cat yaml-violation.log| grep -v "^$" |wc -l)
+            SHOWN=$(grep -c -v "^$" yaml-violation.log)
             echo -e "First $SHOWN shown\n---" > lint.log
             cat yaml-violation.log >> lint.log
             sed -r -i '4,$s/^/ /g' lint.log
       - shell: |
           find $WORKSPACE -type f -name '*.log' | xargs rm -f
 
+- builder:
+    name: track-begin-timestamp
+    builders:
+      - shell: |
+          echo "export TIMESTAMP_START="\'`date '+%Y-%m-%d %H:%M:%S.%3N'`\' > $WORKSPACE/installer_track.sh
+
 - publisher:
     name: archive-artifacts
     publishers:
           failure: true
           send-to:
             - recipients
+
+# Email PTL publishers
+- email_ptl_defaults: &email_ptl_defaults
+    name: 'email_ptl_defaults'
+    content-type: text
+    attach-build-log: true
+    attachments: '*.log'
+    compress-log: true
+    always: true
+    subject: '{subject}'
+
+- publisher: &email_apex_ptl_defaults
+    name: 'email-apex-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            trozet@redhat.com
+- publisher:
+    name: 'email-apex-os-net-config-ptl'
+    <<: *email_apex_ptl_defaults
+- publisher:
+    name: 'email-apex-puppet-tripleo-ptl'
+    <<: *email_apex_ptl_defaults
+- publisher:
+    name: 'email-apex-tripleo-heat-templates-ptl'
+    <<: *email_apex_ptl_defaults
+
+- publisher:
+    name: 'email-armband-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            bob.monkman@arm.com
+
+- publisher:
+    name: 'email-auto-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            tina.tsou@arm.com
+
+- publisher:
+    name: 'email-availability-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            fuqiao@chinamobile.com
+
+- publisher:
+    name: 'email-bamboo-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            donaldh@cisco.com
+
+- publisher:
+    name: 'email-barometer-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            aasmith@redhat.com
+
+- publisher:
+    name: 'email-bottlenecks-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            gabriel.yuyang@huawei.com
+
+- publisher:
+    name: 'email-calipso-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            korlev@cisco.com
+
+- publisher:
+    name: 'email-clover-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            stephen.wong1@huawei.com
+
+- publisher: &email_compass4nfv_ptl_defaults
+    name: 'email-compass4nfv-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            chigang@huawei.com
+- publisher:
+    name: 'email-compass-containers-ptl'
+    <<: *email_compass4nfv_ptl_defaults
+
+- publisher:
+    name: 'email-conductor-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            limingjiang@huawei.com
+
+- publisher:
+    name: 'email-container4nfv-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            jiaxuan@chinamobile.com
+
+- publisher:
+    name: 'email-copper-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            aimeeu.opensource@gmail.com
+
+- publisher:
+    name: 'email-cperf-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            matt.welch@intel.com
+
+- publisher:
+    name: 'email-daisy-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            hu.zhijiang@zte.com.cn
+
+- publisher:
+    name: 'email-doctor-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            r-mibu@cq.jp.nec.com
+
+- publisher:
+    name: 'email-domino-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            ulas.kozat@huawei.com
+
+- publisher:
+    name: 'email-dovetail-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            hongbo.tianhongbo@huawei.com
+
+- publisher:
+    name: 'email-dpacc-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            denglingli@chinamobile.com
+
+- publisher:
+    name: 'email-enfv-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            JBuchanan@advaoptical.com
+
+- publisher:
+    name: 'email-escalator-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            kong.wei2@zte.com.cn
+
+- publisher:
+    name: 'email-fastpathmetrics-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            maryam.tahhan@intel.com
+
+- publisher:
+    name: 'email-fds-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            fbrockne@cisco.com
+
+- publisher:
+    name: 'email-fuel-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            gelkinbard@mirantis.com
+
+- publisher:
+    name: 'email-functest-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            cedric.ollivier@orange.com
+
+- publisher:
+    name: 'email-ipv6-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            bh526r@att.com
+
+- publisher:
+    name: 'email-joid-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            artur.tyloch@canonical.com
+
+- publisher:
+    name: 'email-kvmfornfv-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            raghuveer.reddy@intel.com
+
+- publisher:
+    name: 'email-models-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            bs3131@att.com
+
+- publisher:
+    name: 'email-moon-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            ruan.he@orange.com
+
+- publisher:
+    name: 'email-multisite-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            joehuang@huawei.com
+
+- publisher:
+    name: 'email-netready-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            georg.kunz@ericsson.com
+
+- publisher:
+    name: 'email-nfvbench-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            ahothan@cisco.com
+
+- publisher:
+    name: 'email-octopus-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            ulrich.kleber@huawei.com
+
+- publisher:
+    name: 'email-onosfw-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            su.wei@huawei.com
+
+- publisher:
+    name: 'email-openretriever-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            jiaxuan@chinamobile.com
+
+- publisher:
+    name: 'email-opera-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            Yingjun.li@huawei.com
+
+- publisher:
+    name: 'email-opnfvdocs-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            sofia.wallin@ericsson.com
+
+- publisher:
+    name: 'email-orchestra-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            giuseppe.carella@fokus.fraunhofer.de
+
+- publisher:
+    name: 'email-ovn4nfv-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            trinath.somanchi@gmail.com
+
+- publisher:
+    name: 'email-ovno-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            wsmackie@juniper.net
+
+- publisher:
+    name: 'email-ovsnfv-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            MarkD.Graymark.d.gray@intel.com
+
+- publisher:
+    name: 'email-parser-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            shang.xiaodong@zte.com.cn
+
+- publisher: &email_pharos_ptl_defaults
+    name: 'email-pharos-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            jack.morgan@intel.com
+- publisher:
+    name: 'email-pharos-tools-ptl'
+    <<: *email_pharos_ptl_defaults
+
+- publisher:
+    name: 'email-promise-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            kunzmann@docomolab-euro.com
+
+- publisher:
+    name: 'email-qtip-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            wu.zhihui1@zte.com.cn
+
+- publisher: &email_releng_ptl_defaults
+    name: 'email-releng-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            fatih.degirmenci@ericsson.com
+- publisher:
+    name: 'email-releng-anteater-ptl'
+    <<: *email_releng_ptl_defaults
+- publisher:
+    name: 'email-releng-testresults-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            fatih.degirmenci@ericsson.com
+            feng.xiaowei@zte.com.cn
+- publisher:
+    name: 'email-releng-utils-ptl'
+    <<: *email_releng_ptl_defaults
+- publisher:
+    name: 'email-releng-xci-ptl'
+    <<: *email_releng_ptl_defaults
+
+- publisher:
+    name: 'email-samplevnf-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            deepak.s@intel.com
+
+- publisher:
+    name: 'email-sdnvpn-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            tim.irnich@ericsson.com
+
+- publisher:
+    name: 'email-securityscanning-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            lhinds@redhat.com
+
+- publisher:
+    name: 'email-sfc-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            ManuelBuilmbuil@suse.com
+
+- publisher:
+    name: 'email-snaps-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            s.pisarski@cablelabs.com
+
+- publisher:
+    name: 'email-stor4nfv-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            shane.wang@intel.com
+
+- publisher:
+    name: 'email-storperf-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            mark.beierl@emc.com
+
+- publisher:
+    name: 'email-ves-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            bryan.sullivan@att.com
+
+- publisher:
+    name: 'email-vswitchperf-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            sridhar.rao@spirent.com
+
+- publisher:
+    name: 'email-yardstick-ptl'
+    publishers:
+      - email-ext:
+          <<: *email_ptl_defaults
+          recipients: >
+            ross.b.brattain@intel.com
+
+- publisher:
+    name: 'report-provision-result'
+    publishers:
+      - postbuildscript:
+          script-only-if-succeeded: true
+          builders:
+            - shell: |
+                echo "export PROVISION_RESULT=SUCCEED" >> $WORKSPACE/installer_track.sh
+                echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
+            - shell:
+                !include-raw-escape: installer-report.sh
+      - postbuildscript:
+          script-only-if-failed: true
+          builders:
+            - shell: |
+                echo "export PROVISION_RESULT=FAIL" >> $WORKSPACE/installer_track.sh
+                echo "export INSTALLER={installer}" >> $WORKSPACE/installer_track.sh
+            - shell:
+                !include-raw-escape: installer-report.sh