From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ci-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 8FF3942653;
	Wed, 27 Sep 2023 18:31:34 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 870C1402F2;
	Wed, 27 Sep 2023 18:31:34 +0200 (CEST)
Received: from mail-ot1-f51.google.com (mail-ot1-f51.google.com
 [209.85.210.51]) by mails.dpdk.org (Postfix) with ESMTP id 71B944026B
 for <ci@dpdk.org>; Wed, 27 Sep 2023 18:31:33 +0200 (CEST)
Received: by mail-ot1-f51.google.com with SMTP id
 46e09a7af769-6c4bf619b57so5696168a34.1
 for <ci@dpdk.org>; Wed, 27 Sep 2023 09:31:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=iol.unh.edu; s=unh-iol; t=1695832292; x=1696437092; darn=dpdk.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=ZP5/xkU/7lMBRAt9UA84JPiQGSqdpHo7SrL4RJSfC1U=;
 b=XB1U04ZJNzAbuHXy+Gb/br7nVPU+LB14astqtfPE83wzFb7YM3MrKwfM0O8ZnmMirC
 ZJ3a/OKM17W0CZy1FZyXSTk/q7w7JBKLZIx8XoVf+gyi4d3Rh3nuFAYjoNT5D4qxBydE
 GAX/1mWeSZxEiSgNH1S9rvLusCdVICKGS3BJE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1695832292; x=1696437092;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=ZP5/xkU/7lMBRAt9UA84JPiQGSqdpHo7SrL4RJSfC1U=;
 b=NLpj9HGKrGkgSmuE9fyUjdonq/OarLydpTy5D1bYCdQbwBps+aMSxhbhpBLhGuJXnA
 claPOT93LHw1uOPo1GLgunP4X6BrRthoVn8uot46lhzwiIvHrcDf8LojIAlO7H1HMhP7
 R0mxRCbW/LMzBirMS0nCgWt7UhI8O1Iq8+7EHfMNyxBCnDYeCdjLZkAyPIKdAS+BRH3q
 eJhEeG1778G9ixWbuRyENZ6+VrLJU1byZn9vRQy7cbNQl7ff8YitLrkNGWip/xubR/Iq
 h2fYiAROJX8bTxHREmdNJXHs5NgER40T72Ln3EjcvG8TcsVQRdUrk9Pptsnm62LIqqNJ
 7CVw==
X-Gm-Message-State: AOJu0Yxa1w0e+eQJErpCFhgQcVCkG1pLX27KIYfgux7usLF+pilQjYGH
 iAV2JB4l/6fx1Ok696TgIXDFPfOPNA/IqJHHkTX3mjRPo7mWqmqkxVI=
X-Google-Smtp-Source: AGHT+IGqM8/0FmXVnGesGkTCIEK0oETjPRxBnqLwA7TgovvG403IzqdCzsQcs9D30VbVL7kBE1G+Lj1JHTC6LJMeqzU=
X-Received: by 2002:a05:6830:1e85:b0:6bd:b5f7:187a with SMTP id
 n5-20020a0568301e8500b006bdb5f7187amr2655947otr.20.1695832292646; Wed, 27 Sep
 2023 09:31:32 -0700 (PDT)
MIME-Version: 1.0
From: Patrick Robb <probb@iol.unh.edu>
Date: Wed, 27 Sep 2023 12:31:22 -0400
Message-ID: <CAJvnSUCrsimWMy-nDpycc_me65RGFH9v4HS-VotoMtqhcvzSkA@mail.gmail.com>
Subject: Apply Patchseries Script
To: ci@dpdk.org
Content-Type: multipart/alternative; boundary="000000000000671fb7060659b9cf"
X-BeenThere: ci@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK CI discussions <ci.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/ci>,
 <mailto:ci-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/ci/>
List-Post: <mailto:ci@dpdk.org>
List-Help: <mailto:ci-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/ci>,
 <mailto:ci-request@dpdk.org?subject=subscribe>
Errors-To: ci-bounces@dpdk.org

--000000000000671fb7060659b9cf
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello all,

The Community Lab is reviewing and rewriting some parts of our (currently
internal) apply patchseries script. The reasons are:

1. We want to remove any dependency the apply script has on our internal
infrastructure, so that it can be upstreamed and utilized by others in the
community.

2. We want to add in new features like =E2=80=9Cdepends-on patch=E2=80=9D a=
pplying (like
ovsrobot is doing currently)

3. Some DPDK project processes have changed (like moving next branches from
the main repo to being their own distinct repos). We have added on
workarounds along the way to account for this, but an overall rework is now
in order to clean up our process.

Before we do the work and attempt to upstream the script, I want to verify
with the community that our current assumptions regarding the apply
patchseries process are appropriate and should not be tweaked. Assumptions:

1. There are two inputs, A. The pw series url and B. The branch output of
pw_maintainers_cli.py

2. Do not apply and run if the series is an RFC series

3. Always check out to the current head of tree when applying a patch,
regardless of whether the tree state has changed between patch submission
and patch application in CI.

4. If the cover letter contains =E2=80=9Cdepends-on,=E2=80=9D extract the d=
ependency series
id(s), apply those, then attempt to apply the patch

5. If patch does not cleanly apply to the branch supplied by
pw_maintainers_cli.py, attempt to apply on dpdk main. If this also fails,
report an apply failure.

6. If apply is successful, attempt a sanity build, and report a build
failure if that fails. If it succeeds, proceed with all CI testing.

Note: The Community Lab does not currently use pw-client. If it is better
for the CI community, we could stop maintaining a dedicated script for the
apply process, try moving the pw-client, and direct our efforts at patching
pw-client with the goal of adding support for features like depends-on. Are
other labs using pw-client right now and do you recommend it?

--000000000000671fb7060659b9cf
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><span id=3D"gmail-docs-internal-guid-23e5e3c8-7fff-1fab-e2=
14-33a65cddeec8"><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;ma=
rgin-bottom:0pt"><span style=3D"font-size:11pt;font-family:Arial,sans-serif=
;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;=
font-variant-east-asian:normal;font-variant-alternates:normal;vertical-alig=
n:baseline">Hello all,</span></p><br><p dir=3D"ltr" style=3D"line-height:1.=
38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:11pt;font-fam=
ily:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font-var=
iant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:=
normal;vertical-align:baseline">The Community Lab is reviewing and rewritin=
g some parts of our (currently internal) apply patchseries script. The reas=
ons are:</span></p><p dir=3D"ltr" style=3D"text-indent:0px;line-height:1.38=
;margin-top:0pt;margin-bottom:0pt"><span style=3D"background-color:transpar=
ent;color:rgb(0,0,0);font-family:Arial,sans-serif;font-size:11pt;text-inden=
t:36pt">        1. We want to remove any dependency the apply script has on=
 our internal infrastructure, so that it can be upstreamed and utilized by =
others in the community.=C2=A0</span></p><p dir=3D"ltr" style=3D"line-heigh=
t:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:11pt;font=
-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;font=
-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alterna=
tes:normal;vertical-align:baseline"><span class=3D"gmail-Apple-tab-span" st=
yle=3D"text-wrap: nowrap;">	</span></span><span style=3D"font-size:11pt;fon=
t-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transparent;fon=
t-variant-numeric:normal;font-variant-east-asian:normal;font-variant-altern=
ates:normal;vertical-align:baseline">2. We want to add in new features like=
 =E2=80=9Cdepends-on patch=E2=80=9D applying (like ovsrobot is doing curren=
tly)</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;marg=
in-bottom:0pt"><span style=3D"font-size:11pt;font-family:Arial,sans-serif;c=
olor:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;fo=
nt-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:=
baseline"><span class=3D"gmail-Apple-tab-span" style=3D"text-wrap: nowrap;"=
>	</span></span><span style=3D"font-size:11pt;font-family:Arial,sans-serif;=
color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;f=
ont-variant-east-asian:normal;font-variant-alternates:normal;vertical-align=
:baseline">3. Some DPDK project processes have changed (like moving next br=
anches from the main repo to being their own distinct repos). We have added=
 on workarounds along the way to account for this, but an overall rework is=
 now in order to clean up our process.=C2=A0</span></p><p dir=3D"ltr" style=
=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-=
size:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:tr=
ansparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-v=
ariant-alternates:normal;vertical-align:baseline"><span class=3D"gmail-Appl=
e-tab-span" style=3D"text-wrap: nowrap;">	</span></span></p><p dir=3D"ltr" =
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"=
font-size:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-col=
or:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;f=
ont-variant-alternates:normal;vertical-align:baseline"><span class=3D"gmail=
-Apple-tab-span" style=3D"text-wrap: nowrap;">	</span></span><span style=3D=
"font-size:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-co=
lor:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;=
font-variant-alternates:normal;vertical-align:baseline">Before we do the wo=
rk and attempt to upstream the script, I want to verify with the community =
that our current assumptions regarding the apply patchseries process are ap=
propriate and should not be tweaked. Assumptions:</span></p><p dir=3D"ltr" =
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"=
font-size:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-col=
or:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;f=
ont-variant-alternates:normal;vertical-align:baseline"><span class=3D"gmail=
-Apple-tab-span" style=3D"text-wrap: nowrap;">	</span></span><span style=3D=
"font-size:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-co=
lor:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;=
font-variant-alternates:normal;vertical-align:baseline">1. There are two in=
puts, A. The pw series url and B. The branch output of pw_maintainers_cli.p=
y</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-=
bottom:0pt"><span style=3D"font-size:11pt;font-family:Arial,sans-serif;colo=
r:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-variant-alternates:normal;vertical-align:bas=
eline"><span class=3D"gmail-Apple-tab-span" style=3D"text-wrap: nowrap;">	<=
/span></span><span style=3D"font-size:11pt;font-family:Arial,sans-serif;col=
or:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font=
-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:ba=
seline">2. Do not apply and run if the series is an RFC series</span></p><p=
 dir=3D"ltr" style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><s=
pan style=3D"font-size:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);b=
ackground-color:transparent;font-variant-numeric:normal;font-variant-east-a=
sian:normal;font-variant-alternates:normal;vertical-align:baseline"><span c=
lass=3D"gmail-Apple-tab-span" style=3D"text-wrap: nowrap;">	</span></span><=
span style=3D"font-size:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);=
background-color:transparent;font-variant-numeric:normal;font-variant-east-=
asian:normal;font-variant-alternates:normal;vertical-align:baseline">3. Alw=
ays check out to the current head of tree when applying a patch, regardless=
 of whether the tree state has changed between patch submission and patch a=
pplication in CI.</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin=
-top:0pt;margin-bottom:0pt"><span style=3D"font-size:11pt;font-family:Arial=
,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-nume=
ric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;ve=
rtical-align:baseline"><span class=3D"gmail-Apple-tab-span" style=3D"text-w=
rap: nowrap;">	</span></span><span style=3D"font-size:11pt;font-family:Aria=
l,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-num=
eric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;v=
ertical-align:baseline">4. If the cover letter contains =E2=80=9Cdepends-on=
,=E2=80=9D extract the dependency series id(s), apply those, then attempt t=
o apply the patch</span></p><p dir=3D"ltr" style=3D"line-height:1.38;margin=
-top:0pt;margin-bottom:0pt"><span style=3D"font-size:11pt;font-family:Arial=
,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-nume=
ric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;ve=
rtical-align:baseline"><span class=3D"gmail-Apple-tab-span" style=3D"text-w=
rap: nowrap;">	</span></span><span style=3D"font-size:11pt;font-family:Aria=
l,sans-serif;color:rgb(0,0,0);background-color:transparent;font-variant-num=
eric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;v=
ertical-align:baseline">5. If patch does not cleanly apply to the branch su=
pplied by pw_maintainers_cli.py, attempt to apply on dpdk main. If this als=
o fails, report an apply failure.=C2=A0</span></p><p dir=3D"ltr" style=3D"l=
ine-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:=
11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transpa=
rent;font-variant-numeric:normal;font-variant-east-asian:normal;font-varian=
t-alternates:normal;vertical-align:baseline"><span class=3D"gmail-Apple-tab=
-span" style=3D"text-wrap: nowrap;">	</span></span><span style=3D"font-size=
:11pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transp=
arent;font-variant-numeric:normal;font-variant-east-asian:normal;font-varia=
nt-alternates:normal;vertical-align:baseline">6. If apply is successful, at=
tempt a sanity build, and report a build failure if that fails. If it succe=
eds, proceed with all CI testing.</span></p><br><p dir=3D"ltr" style=3D"lin=
e-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style=3D"font-size:11=
pt;font-family:Arial,sans-serif;color:rgb(0,0,0);background-color:transpare=
nt;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-=
alternates:normal;vertical-align:baseline">Note: The Community Lab does not=
 currently use pw-client. If it is better for the CI community, we could st=
op maintaining a dedicated script for the apply process, try moving the pw-=
client, and direct our efforts at patching pw-client with the goal of addin=
g support for features like depends-on. Are other labs using pw-client righ=
t now and do you recommend it? </span></p></span><br class=3D"gmail-Apple-i=
nterchange-newline"></div>

--000000000000671fb7060659b9cf--