* [RFC] Use of the Nacked-by tag by CI scripts
@ 2019-12-09 8:44 Philippe Mathieu-Daudé
2019-12-09 9:28 ` Aleksandar Markovic
0 siblings, 1 reply; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-09 8:44 UTC (permalink / raw)
To: Peter Maydell
Cc: Paolo Bonzini, Alex Bennée, qemu-devel, Stefan Hajnoczi,
Cleber Rosa
Hi,
The Nacked-by tag can be used to manually hold a patch for further
review, or by automatic CI because of failing test.
We often miss travis-ci and shippable failures. These CI provide a easy
way to send email on failure, we can integrate the Nacked-by use there.
We can easily have patchew script send a Nacked-by tag.
If there is a consensus about using this tag, the following patch can be
added to Peter's management scripts:
https://git.linaro.org/people/pmaydell/misc-scripts.git/
If we move to another workflow, having this uniform tag can help future
merging scripts to avoid patch on hold to get automatically merged.
-- >8 --
Subject: make-pullreq: Do not automatically merge NAcked commits
The 'Nacked-by' tag is a polite way of holding a patch for
further review. Reviewers might share their disapproval with
it (see [1]).
CI scripts might NAck a patch if it breaks testing.
QEMU already thought about using this tag for CI by the past
(see [2]).
The patchwork tool already collects this tag (see [3]).
Also, there was a discussion at the last Open Source Summit
about standardizing it ([4]).
Maintainers might miss a such Nacked-by tag. Help them by
providing a last resort check before merging pull requests.
[1]
https://www.x.org/wiki/Development/Documentation/SubmittingPatches/#index1h1
[2] https://lists.gnu.org/archive/html/qemu-devel/2013-01/msg00196.html
[3]
http://git.ozlabs.org/?p=patchwork;a=blobdiff;f=apps/patchwork/models.py;h=fa213dc03e;hp=8871df0259e;hb=487b53576f;hpb=a59ebf107d84b
[4]
https://lore.kernel.org/workflows/CACT4Y+bxPxQ64HEO2uGRkbk9vJSeg64y10Lak4c2K54J7GyFFA@mail.gmail.com/
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
make-pullreq | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/make-pullreq b/make-pullreq
index 61c0f1d..fff0b2d 100755
--- a/make-pullreq
+++ b/make-pullreq
@@ -108,6 +108,17 @@ if [ "$bad" = "yes" ]; then
exit 1
fi
+# Check no commit contains a nacked-by tag
+for rev in $(git rev-list master..HEAD); do
+ if git log ${rev}^! | grep -iq "Nacked-by:"; then
+ echo "Error: commit ${rev} nacked"
+ bad=yes
+ fi
+done
+if [ "$bad" = "yes" ]; then
+ exit 1
+fi
+
# Check whether any authors needs to be corrected after SPF rewrites
if git shortlog --author=qemu-devel@nongnu.org master..HEAD | grep .; then
echo "ERROR: pull request includes commits attributed to list"
--
2.21.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [RFC] Use of the Nacked-by tag by CI scripts
2019-12-09 8:44 [RFC] Use of the Nacked-by tag by CI scripts Philippe Mathieu-Daudé
@ 2019-12-09 9:28 ` Aleksandar Markovic
2019-12-09 9:36 ` Paolo Bonzini
0 siblings, 1 reply; 5+ messages in thread
From: Aleksandar Markovic @ 2019-12-09 9:28 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, qemu-devel, Stefan Hajnoczi, Cleber Rosa,
Paolo Bonzini, Alex Bennée
[-- Attachment #1: Type: text/plain, Size: 3181 bytes --]
On Monday, December 9, 2019, Philippe Mathieu-Daudé <philmd@redhat.com>
wrote:
> Hi,
>
> The Nacked-by tag can be used to manually hold a patch for further review,
> or by automatic CI because of failing test.
>
> We often miss travis-ci and shippable failures. These CI provide a easy
> way to send email on failure, we can integrate the Nacked-by use there.
>
> We can easily have patchew script send a Nacked-by tag.
>
> If there is a consensus about using this tag, the following patch can be
> added to Peter's management scripts:
> https://git.linaro.org/people/pmaydell/misc-scripts.git/
>
I always assumed that pull requests by sub-maintainers should contain
"ready for merging" code (justified, reviewed, tested, ...). Why would ever
a sub-maintainer send something that doesn't comply to these conditions?
I think, in general, this tag would do more harm than good, allowing
frivolous blocking of patches, and fixing a process that already works,
without any need.
Not acknowledged by me.
Sincerely,
Aleksandar
> If we move to another workflow, having this uniform tag can help future
> merging scripts to avoid patch on hold to get automatically merged.
>
> -- >8 --
> Subject: make-pullreq: Do not automatically merge NAcked commits
>
> The 'Nacked-by' tag is a polite way of holding a patch for
> further review. Reviewers might share their disapproval with
> it (see [1]).
>
> CI scripts might NAck a patch if it breaks testing.
> QEMU already thought about using this tag for CI by the past
> (see [2]).
>
> The patchwork tool already collects this tag (see [3]).
>
> Also, there was a discussion at the last Open Source Summit
> about standardizing it ([4]).
>
> Maintainers might miss a such Nacked-by tag. Help them by
> providing a last resort check before merging pull requests.
>
> [1] https://www.x.org/wiki/Development/Documentation/SubmittingP
> atches/#index1h1
> [2] https://lists.gnu.org/archive/html/qemu-devel/2013-01/msg00196.html
> [3] http://git.ozlabs.org/?p=patchwork;a=blobdiff;f=apps/patchwo
> rk/models.py;h=fa213dc03e;hp=8871df0259e;hb=487b53576f;hpb=a59ebf107d84b
> [4] https://lore.kernel.org/workflows/CACT4Y+bxPxQ64HEO2uGRkbk9v
> JSeg64y10Lak4c2K54J7GyFFA@mail.gmail.com/
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> make-pullreq | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/make-pullreq b/make-pullreq
> index 61c0f1d..fff0b2d 100755
> --- a/make-pullreq
> +++ b/make-pullreq
> @@ -108,6 +108,17 @@ if [ "$bad" = "yes" ]; then
> exit 1
> fi
>
> +# Check no commit contains a nacked-by tag
> +for rev in $(git rev-list master..HEAD); do
> + if git log ${rev}^! | grep -iq "Nacked-by:"; then
> + echo "Error: commit ${rev} nacked"
> + bad=yes
> + fi
> +done
> +if [ "$bad" = "yes" ]; then
> + exit 1
> +fi
> +
> # Check whether any authors needs to be corrected after SPF rewrites
> if git shortlog --author=qemu-devel@nongnu.org master..HEAD | grep .;
> then
> echo "ERROR: pull request includes commits attributed to list"
> --
> 2.21.0
>
>
>
[-- Attachment #2: Type: text/html, Size: 4614 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] Use of the Nacked-by tag by CI scripts
2019-12-09 9:28 ` Aleksandar Markovic
@ 2019-12-09 9:36 ` Paolo Bonzini
2019-12-09 10:12 ` Aleksandar Markovic
0 siblings, 1 reply; 5+ messages in thread
From: Paolo Bonzini @ 2019-12-09 9:36 UTC (permalink / raw)
To: Aleksandar Markovic, Philippe Mathieu-Daudé
Cc: Peter Maydell, Alex Bennée, qemu-devel, Stefan Hajnoczi,
Cleber Rosa
On 09/12/19 10:28, Aleksandar Markovic wrote:
> If there is a consensus about using this tag, the following patch
> can be added to Peter's management scripts:
> https://git.linaro.org/people/pmaydell/misc-scripts.git/
> <https://git.linaro.org/people/pmaydell/misc-scripts.git/>
>
> I always assumed that pull requests by sub-maintainers should contain
> "ready for merging" code (justified, reviewed, tested, ...). Why would
> ever a sub-maintainer send something that doesn't comply to these
> conditions?
Because things can and do go wrong, perhaps someone was on vacation
while the original patch was posted, perhaps somebody is giving a
negative review outside his maintenance area, perhaps there would be
conflicts with a tree-wide series being discussed elsewhere... It's
rare and I don't think it would be misused, but I think it's a good idea
to have a machine-readable way to block patches.
However, I'm not sure why the commits would contain a tag. Instead, we
could use the patchew REST API
(https://patchew.org/api/v1/projects/1/series/MESSAGE-ID/) and search
for nacked-by tags in there.
Paolo
> I think, in general, this tag would do more harm than good, allowing
> frivolous blocking of patches, and fixing a process that already works,
> without any need.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] Use of the Nacked-by tag by CI scripts
2019-12-09 9:36 ` Paolo Bonzini
@ 2019-12-09 10:12 ` Aleksandar Markovic
2019-12-09 10:37 ` Paolo Bonzini
0 siblings, 1 reply; 5+ messages in thread
From: Aleksandar Markovic @ 2019-12-09 10:12 UTC (permalink / raw)
To: Paolo Bonzini
Cc: Peter Maydell, Philippe Mathieu-Daudé, qemu-devel,
Stefan Hajnoczi, Cleber Rosa, Alex Bennée
[-- Attachment #1: Type: text/plain, Size: 1757 bytes --]
On Monday, December 9, 2019, Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 09/12/19 10:28, Aleksandar Markovic wrote:
> > If there is a consensus about using this tag, the following patch
> > can be added to Peter's management scripts:
> > https://git.linaro.org/people/pmaydell/misc-scripts.git/
> > <https://git.linaro.org/people/pmaydell/misc-scripts.git/>
> >
> > I always assumed that pull requests by sub-maintainers should contain
> > "ready for merging" code (justified, reviewed, tested, ...). Why would
> > ever a sub-maintainer send something that doesn't comply to these
> > conditions?
>
> Because things can and do go wrong, perhaps someone was on vacation
> while the original patch was posted, perhaps somebody is giving a
> negative review outside his maintenance area, perhaps there would be
> conflicts with a tree-wide series being discussed elsewhere... It's
> rare and I don't think it would be misused, but I think it's a good idea
> to have a machine-readable way to block patches.
>
>
I'm afraid this would be opening a Pandora's box. For such rare cases, a
message from a person: "Please hold on this patch until I am back from
vacation.", "Please wait until I merge my series acting on the same files",
or similar, would perfectly do the job, as it did in the past.
We are fixing something that is not broken.
> However, I'm not sure why the commits would contain a tag. Instead, we
> could use the patchew REST API
> (https://patchew.org/api/v1/projects/1/series/MESSAGE-ID/) and search
> for nacked-by tags in there.
>
> Paolo
>
> > I think, in general, this tag would do more harm than good, allowing
> > frivolous blocking of patches, and fixing a process that already works,
> > without any need.
>
>
[-- Attachment #2: Type: text/html, Size: 2594 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC] Use of the Nacked-by tag by CI scripts
2019-12-09 10:12 ` Aleksandar Markovic
@ 2019-12-09 10:37 ` Paolo Bonzini
0 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2019-12-09 10:37 UTC (permalink / raw)
To: Aleksandar Markovic
Cc: Peter Maydell, Philippe Mathieu-Daudé, qemu-devel,
Stefan Hajnoczi, Cleber Rosa, Alex Bennée
On 09/12/19 11:12, Aleksandar Markovic wrote:
> I'm afraid this would be opening a Pandora's box. For such rare cases, a
> message from a person: "Please hold on this patch until I am back from
> vacation.", "Please wait until I merge my series acting on the same
> files", or similar, would perfectly do the job, as it did in the past.
The point is when you don't see the patch until it gets in a pull
request. It's not particularly common so I'm okay with no change (and I
agree that Philippe's patch, as is, doesn't solve *this* particular
case) but I also don't see this as causing problems in the future.
Paolo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-12-09 10:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-09 8:44 [RFC] Use of the Nacked-by tag by CI scripts Philippe Mathieu-Daudé
2019-12-09 9:28 ` Aleksandar Markovic
2019-12-09 9:36 ` Paolo Bonzini
2019-12-09 10:12 ` Aleksandar Markovic
2019-12-09 10:37 ` Paolo Bonzini
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).