From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f46.google.com (mail-wm0-f46.google.com [74.125.82.46]) by dpdk.org (Postfix) with ESMTP id 0A94D58CB for ; Thu, 1 Dec 2016 14:45:07 +0100 (CET) Received: by mail-wm0-f46.google.com with SMTP id f82so248892950wmf.1 for ; Thu, 01 Dec 2016 05:45:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:in-reply-to:references; bh=1P/sZfa/6Opzh0P1TXTbEGfMP9fY7JgGCfJNBSi/YB8=; b=ZuDyyQTuHGerGAVxkVlskTqGq1gNyjhRZhP2eFwUxgfnFlf2Uc1IyzwprKr3w5pReu f+2O7EFCSc7KjiMPpSOYzmFASI2QMnOh7FCPARqIfTmI/3J0xM6lM/RwYQ5j96SsCkdE TwYnMxpLobpea8biUjSuM3r0b4eS6CSvaJfOZjCYi4pFontDm60ZtZ5Pf0c3KzjN5LeN 53gGoEpdMBnTAwJ3OHQn7VsfbprE7X83wAs061Kco/djoEdqfZPGn+aKiw3k1wr6fxHo 36ibZG+vgye9wVE++kyX00N/N8e4pJYx23xpQ/Yu5+0dPMCZAkuTNrKPFReP5LqNjC+N 4RUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=1P/sZfa/6Opzh0P1TXTbEGfMP9fY7JgGCfJNBSi/YB8=; b=WhC8EtV7/AwDPfWBlPNaN8B0FrasBb/22W3qByyGU89vjdSoLpDcR4393+6fJ220VW 7qwO5SU3RC1/S1p/FEvidvADABCXDd8eoO1LzHazb00OXESvnf+O5w8ULWBqr9bpYQXd 05RUiGYufsxktZD6xHJcqMLj6sHneGCfDTVNJx63qdsxCXPliC60OKBRdNs/n1NYtMS3 sbst6ayky+TDGft9tlrZtJJUZLT41Ul/7tYrCGYfDeckRndCWacFUe+aQXjynJmwXP28 13F59Z7yBU01FVAnRIxEtVwlfbJBvS7RL1+CToiUPvZuatYseh+P1Z/PTAzoire2uADJ id+g== X-Gm-Message-State: AKaTC02/2YORYVXf4+c5tQvt2uoS4Jmvl3YPde2tVngQN7YJzBCxBrOfkIMpTrk11Pjyldo6 X-Received: by 10.28.178.205 with SMTP id b196mr34814725wmf.8.1480599906493; Thu, 01 Dec 2016 05:45:06 -0800 (PST) Received: from XPS13.localdomain (184.203.134.77.rev.sfr.net. [77.134.203.184]) by smtp.gmail.com with ESMTPSA id c202sm15808333wme.1.2016.12.01.05.45.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 01 Dec 2016 05:45:06 -0800 (PST) From: Thomas Monjalon To: ci@dpdk.org Date: Thu, 1 Dec 2016 14:44:50 +0100 Message-Id: <1480599892-14190-6-git-send-email-thomas.monjalon@6wind.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1480599892-14190-1-git-send-email-thomas.monjalon@6wind.com> References: <1480093334-29957-1-git-send-email-thomas.monjalon@6wind.com> <1480599892-14190-1-git-send-email-thomas.monjalon@6wind.com> Subject: [dpdk-ci] [PATCH v2 5/7] tools: add per-patch report mailer X-BeenThere: ci@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: CI discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Dec 2016 13:45:07 -0000 The report sent by this script will be parsed and integrated in patchwork if the patch was public. Otherwise it will just send the report to the patch submitter. Signed-off-by: Thomas Monjalon --- config/ci.config | 3 ++ tools/send-patch-report.sh | 100 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100755 tools/send-patch-report.sh diff --git a/config/ci.config b/config/ci.config index 722aeb5..b3b0376 100644 --- a/config/ci.config +++ b/config/ci.config @@ -3,5 +3,8 @@ # or ~/.config/dpdk/ci.config # or .ciconfig +# The mailer (sendmail, mail, mailx) must support the option -t +# export DPDK_CI_MAILER=/usr/sbin/sendmail + # The pwclient script is part of patchwork and is copied in dpdk-ci # export DPDK_CI_PWCLIENT=tools/pwclient diff --git a/tools/send-patch-report.sh b/tools/send-patch-report.sh new file mode 100755 index 0000000..afdf542 --- /dev/null +++ b/tools/send-patch-report.sh @@ -0,0 +1,100 @@ +#! /bin/sh -e + +# This file is in the public domain. + +print_usage () { + cat <<- END_OF_HELP + usage: $(basename $0) [options] < report + + Send test report in a properly formatted email for patchwork integration. + The report is submitted to this script via stdin. + + options: + -t title subject of the patch email + -f from sender of the patch email + -m msgid id of the patch email + -p listid mailing list publishing the patch + -l label title of the test + -s status one of these test results: SUCCESS, WARNING, FAILURE + -d desc few words to better describe the status + -h this help + END_OF_HELP +} + +. $(dirname $(readlink -e $0))/load-ci-config.sh +sendmail=${DPDK_CI_MAILER:-/usr/sbin/sendmail} +pwclient=${DPDK_CI_PWCLIENT:-$(dirname $(readlink -m $0))/pwclient} + +unset title +unset from +unset msgid +unset listid +unset label +unset status +unset desc +while getopts d:f:hl:m:p:s:t: arg ; do + case $arg in + t ) title=$OPTARG ;; + f ) from=$OPTARG ;; + m ) msgid=$OPTARG ;; + p ) listid=$OPTARG ;; + l ) label=$OPTARG ;; + s ) status=$OPTARG ;; + d ) desc=$OPTARG ;; + h ) print_usage ; exit 0 ;; + ? ) print_usage >&2 ; exit 1 ;; + esac +done +shift $(($OPTIND - 1)) +if [ -t 0 ] ; then + printf 'nothing to read on stdin\n\n' >&2 + print_usage >&2 + exit 1 +fi +report=$(cat) + +writeheaders () # [cc] +{ + echo "Subject: $1" + echo "In-Reply-To: $2" + echo "References: $2" + echo "To: $3" + [ -z "$4" ] || echo "Cc: $4" + echo +} + +writeheadlines () #