summaryrefslogtreecommitdiffstats
path: root/jjb/global/releng-macros.yml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/global/releng-macros.yml')
-rw-r--r--jjb/global/releng-macros.yml695
1 files changed, 601 insertions, 94 deletions
diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml
index 08766943c..a7d947f81 100644
--- a/jjb/global/releng-macros.yml
+++ b/jjb/global/releng-macros.yml
@@ -35,6 +35,10 @@
name: GERRIT_BRANCH
default: '{branch}'
description: "JJB configured GERRIT_BRANCH parameter (deprecated)"
+ - string:
+ name: GERRIT_REFSPEC
+ default: 'refs/heads/{branch}'
+ description: "Default refspec needed for manually triggering."
- property:
name: logrotate-default
@@ -76,6 +80,16 @@
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:
@@ -141,7 +155,7 @@
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - ref-updated
+ - ref-updated-event
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
@@ -284,128 +298,97 @@
fi
- builder:
- name: lint-python-code
+ name: upload-review-docs
+ builders:
+ - upload-under-review-docs-to-opnfv-artifacts
+ - report-build-result-to-gerrit
+
+- builder:
+ name: lint-init
builders:
- shell: |
#!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- export PATH=$PATH:/usr/local/bin/
-
- virtualenv -p python2.7 $WORKSPACE/releng_flake8
- source $WORKSPACE/releng_flake8/bin/activate
-
- # install python packages
- pip install "flake8==2.6.2"
-
- # generate and upload lint log
- echo "Running flake8 code on $PROJECT ..."
-
- # Get number of flake8 violations. If none, this will be an
- # empty string: ""
- FLAKE_COUNT="$(find . \
- -path './releng_flake8' -prune -o \
- -path './.tox' -prune -o \
- -type f -name "*.py" -print | \
- xargs flake8 --exit-zero -qq --count 2>&1)"
-
# Ensure we start with a clean environment
- rm -f lint.log
-
- if [ ! -z $FLAKE_COUNT ]; then
- echo "Flake8 Violations: $FLAKE_COUNT" > lint.log
- find . \
- -path './releng_flake8' -prune -o \
- -path './.tox' -prune -o \
- -type f -name "*.py" -print | \
- xargs flake8 --exit-zero --first >> violation.log
- SHOWN=$(wc -l violation.log | cut -d' ' -f1)
- echo -e "First $SHOWN shown\n---" >> lint.log
- cat violation.log >> lint.log
- sed -r -i '4,$s/^/ /g' lint.log
- rm violation.log
- fi
-
- deactivate
+ rm -f bash-violation.log python-violation.log yaml-violation.log violation.log
+ git --no-pager diff --diff-filter=MCRAT --name-only HEAD^1 > modified_files
- builder:
- name: report-lint-result-to-gerrit
+ name: lint-report
builders:
- shell: |
#!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- export PATH=$PATH:/usr/local/bin/
-
- # If no violations were found, no lint log will exist.
- if [[ -e lint.log ]] ; then
- echo -e "\nposting linting report to gerrit...\n"
-
- cat lint.log
- echo
-
- ssh -p 29418 gerrit.opnfv.org \
- "gerrit review -p $GERRIT_PROJECT \
- -m \"$(cat lint.log)\" \
- $GERRIT_PATCHSET_REVISION \
- --notify NONE"
-
+ if [[ -s violation.log ]]; then
+ echo "Reporting lint result..."
+ msg="Found syntax error and/or coding style violation(s) in the files modified by your patchset."
+ sed -i -e "1s#^#${msg}\n\n#" violation.log
+ cmd="gerrit review -p $GERRIT_PROJECT -m \"$(cat violation.log)\" $GERRIT_PATCHSET_REVISION --notify NONE"
+ ssh -p 29418 gerrit.opnfv.org "$cmd"
+
+ # Make sure the caller job failed
exit 1
fi
- builder:
- name: upload-review-docs
+ name: lint-bash-code
builders:
- - upload-under-review-docs-to-opnfv-artifacts
- - report-build-result-to-gerrit
+ - shell: |
+ #!/bin/bash
+ echo "Checking bash code..."
+ for f in $(egrep '\.sh$' modified_files)
+ do
+ bash -n "$f" 2>> bash-violation.log
+ done
+ if [[ -s bash-violation.log ]]; then
+ echo -e "Bash syntax error(s)\n---" >> violation.log
+ sed -e 's/^/ /g' bash-violation.log >> violation.log
+ fi
- builder:
- name: check-bash-syntax
+ name: lint-python-code
builders:
- - shell: "find . -name '*.sh' | xargs bash -n"
+ - shell: |
+ #!/bin/bash
+ # Install python package
+ sudo pip install "flake8==2.6.2"
+
+ echo "Checking python code..."
+ for f in $(egrep '\.py$' modified_files)
+ do
+ flake8 "$f" >> python-violation.log
+ done
+ if [[ -s python-violation.log ]]; then
+ echo -e "Python violation(s)\n---" >> violation.log
+ sed -e 's/^/ /g' python-violation.log >> violation.log
+ fi
- builder:
name: lint-yaml-code
builders:
- shell: |
#!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- export PATH=$PATH:/usr/local/bin/
-
- # install python packages
+ # sudo Install python packages
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
-
- # Yamllint files only in patchset
- for yamlfile in $YAML_FILES; do
- yamllint $yamlfile >> yaml-violation.log || true
+ echo "Checking yaml file..."
+ for f in $(egrep '\.ya?ml$' modified_files)
+ do
+ yamllint "$f" >> yaml-violation.log
done
-
- if [ -s "yaml-violation.log" ]; then
- 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
+ if [[ -s yaml-violation.log ]]; then
+ echo -e "YAML violation(s)\n---" >> violation.log
+ sed -e 's/^/ /g' yaml-violation.log >> violation.log
fi
- builder:
+ name: lint-all-code
+ builders:
+ - lint-init
+ - lint-bash-code
+ - lint-python-code
+ - lint-yaml-code
+ - lint-report
+
+- builder:
name: clean-workspace
builders:
- shell: |
@@ -421,6 +404,12 @@
- 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:
@@ -463,3 +452,521 @@
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