From: Ali Alnubani <alialnu@oss.nvidia.com>
To: <ci@dpdk.org>
Cc: <thomas@monjalon.net>, <jerinj@marvell.com>,
<ferruh.yigit@intel.com>, <david.marchand@redhat.com>,
<juraj.linkes@pantheon.tech>
Subject: [dpdk-ci] [PATCH v3 08/10] tools: support fetching series
Date: Mon, 18 Oct 2021 10:44:58 +0300 [thread overview]
Message-ID: <20211018074500.16199-9-alialnu@nvidia.com> (raw)
In-Reply-To: <20211018074500.16199-1-alialnu@nvidia.com>
The script can now fetch new series IDs by filtering the events
API with category 'series-completed'. See:
https://patchwork.readthedocs.io/en/latest/usage/overview/#series-completed
Example usage:
$ export MAINTAINERS_FILE_PATH=/path/to/dpdk/MAINTAINERS
$ ./tools/poll-pw series /path/to/last.txt \
'/path/to/pw_maintainers_cli.py --type series set_pw_delegate $1'
Signed-off-by: Ali Alnubani <alialnu@nvidia.com>
---
Changes in v3:
- Fetch new series IDs by filtering the events API with
category "series-completed".
- Updated usage (renamed 'patches' arg to 'patch') so that
it feeds directly into the 'patch-completed' category.
tools/poll-pw | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/tools/poll-pw b/tools/poll-pw
index ccc58f0..77f6b79 100755
--- a/tools/poll-pw
+++ b/tools/poll-pw
@@ -9,11 +9,11 @@ PAUSE_SECONDS=100
print_usage () {
cat <<- END_OF_HELP
- usage: $(basename $0) [OPTIONS] </path/to/last.txt> <command>
+ usage: $(basename $0) [OPTIONS] <patch|series> </path/to/last.txt> <command>
- Poll patchwork and call command for each patch.
+ Poll patchwork and call a command for each new patch/series id.
The first date to filter with is read from the specified file.
- The command should use '$1' to be evaluated as the patch id.
+ The command should use '$1' to be evaluated as the patch/series id.
The date in the specified file is updated after each pull.
END_OF_HELP
}
@@ -31,14 +31,15 @@ while getopts h arg ; do
esac
done
-if [ $# -lt 2 ] ; then
+if [ $# -lt 3 ] ; then
printf 'missing argument(s)\n\n' >&2
print_usage >&2
exit 1
fi
shift $(($OPTIND - 1))
-since_file=$1
-shift
+resource_type=$1
+since_file=$2
+shift 2
cmd=$*
if [ ! -f "$since_file" ] ; then
@@ -52,7 +53,13 @@ if [ ! $? -eq 0 ] ; then
exit 1
fi
-URL="${URL}/events/?category=patch-completed"
+if [ "$resource_type" != "patch" ] & [ "$resource_type" != "series" ] ; then
+ printf "Unknown resource type '$resource_type'.\n\n" >&2
+ print_usage >&2
+ exit 1
+fi
+
+URL="${URL}/events/?category=${resource_type}-completed"
callcmd () # <patchwork id>
{
@@ -66,7 +73,7 @@ while true ; do
page=1
while true ; do
ids=$(curl -s "${URL}&page=${page}&since=${since}" \
- | jq 'try ( .[].payload.patch.id )')
+ | jq "try ( .[].payload.${resource_type}.id )")
[ -z "$(echo $ids | tr -d '\n')" ] && break
for id in $ids ; do
callcmd $id
--
2.25.1
next prev parent reply other threads:[~2021-10-18 7:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-18 7:44 [dpdk-ci] [PATCH v3 00/10] Automatic patchwork delegation Ali Alnubani
2021-10-18 7:44 ` [dpdk-ci] [PATCH v3 01/10] tools: rename guess_git_tree script Ali Alnubani
2021-10-18 7:44 ` [dpdk-ci] [PATCH v3 02/10] tools: match by tree URL instead of tree name Ali Alnubani
2021-10-18 7:44 ` [dpdk-ci] [PATCH v3 03/10] tools: update script usage Ali Alnubani
2021-10-18 7:44 ` [dpdk-ci] [PATCH v3 04/10] tools: add functionality for detecting tree maintainers Ali Alnubani
2021-10-18 7:44 ` [dpdk-ci] [PATCH v3 05/10] tools: add functionality for setting pw delegates Ali Alnubani
2021-10-18 7:44 ` [dpdk-ci] [PATCH v3 06/10] add git-pw to requirements file Ali Alnubani
2021-10-18 7:44 ` [dpdk-ci] [PATCH v3 07/10] tools: filter new Patchwork IDs by date Ali Alnubani
2021-10-18 7:44 ` Ali Alnubani [this message]
2021-10-18 7:44 ` [dpdk-ci] [PATCH v3 09/10] tools: filter new patchwork IDs by project name Ali Alnubani
2021-10-18 7:45 ` [dpdk-ci] [PATCH v3 10/10] tools: skip the IDs we already fetched Ali Alnubani
2021-10-18 8:06 ` [dpdk-ci] [PATCH v3 00/10] Automatic patchwork delegation Ali Alnubani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211018074500.16199-9-alialnu@nvidia.com \
--to=alialnu@oss.nvidia.com \
--cc=ci@dpdk.org \
--cc=david.marchand@redhat.com \
--cc=ferruh.yigit@intel.com \
--cc=jerinj@marvell.com \
--cc=juraj.linkes@pantheon.tech \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).