From patchwork Wed Oct 11 00:24:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maxim Cournoyer X-Patchwork-Id: 54746 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id B929527BBEA; Wed, 11 Oct 2023 01:24:53 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI, SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 46CCA27BBE2 for ; Wed, 11 Oct 2023 01:24:52 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qqN1n-0007Gt-78; Tue, 10 Oct 2023 20:24:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qqN1l-0007GS-JS for guix-patches@gnu.org; Tue, 10 Oct 2023 20:24:41 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qqN1l-0005J2-BR; Tue, 10 Oct 2023 20:24:41 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qqN26-0004b6-Dj; Tue, 10 Oct 2023 20:25:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#66436] [PATCH v2] doc: Add some guidelines for reviewing. References: <19f82d9bbef649c750ad067d23ebbaee6f9ae494.1696942467.git.maxim.cournoyer@gmail.com> In-Reply-To: <19f82d9bbef649c750ad067d23ebbaee6f9ae494.1696942467.git.maxim.cournoyer@gmail.com> Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: maxim.cournoyer@gmail.com, ludo@gnu.org, guix-patches@gnu.org Resent-Date: Wed, 11 Oct 2023 00:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66436 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 66436@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Maxim Cournoyer , Maxim Cournoyer , Ludovic =?utf-8?q?Court=C3=A8s?= X-Debbugs-Original-Xcc: Maxim Cournoyer , Ludovic =?utf-8?q?Court=C3=A8s?= Received: via spool by 66436-submit@debbugs.gnu.org id=B66436.169698388717638 (code B ref 66436); Wed, 11 Oct 2023 00:25:02 +0000 Received: (at 66436) by debbugs.gnu.org; 11 Oct 2023 00:24:47 +0000 Received: from localhost ([127.0.0.1]:37183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqN1q-0004aQ-Hr for submit@debbugs.gnu.org; Tue, 10 Oct 2023 20:24:47 -0400 Received: from mail-qv1-xf2b.google.com ([2607:f8b0:4864:20::f2b]:61602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqN1m-0004a6-Gg for 66436@debbugs.gnu.org; Tue, 10 Oct 2023 20:24:45 -0400 Received: by mail-qv1-xf2b.google.com with SMTP id 6a1803df08f44-66d01345d73so3708776d6.2 for <66436@debbugs.gnu.org>; Tue, 10 Oct 2023 17:24:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696983855; x=1697588655; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=XrQH8uTi2PNi7eIZX2jE67w381DSDyiihJBLQImx08g=; b=TbztkL52IXj0A37vM2uD2vq07XvF8/QpKykcAocwX7brSYJUTWnGNfTX0HMTMQm/fY VtgPqg+tv+q0q4xrwRWemM4YmbDKUt1D7U1F51igq33jR6Cc8g58HwpUuOkQ85T30JsT vHW7ilBMrD0yFrP7oAkEZinj30N7PzbGpizyLaByzgTmniY6tEJxSirIz2QfW+OyBCY9 K6jkINq1C2ht2HjRk7DN1OnuDlCzYvJRNDtDZ8mRGv643oTuhppwJTYP8KO4DI3ltj4R BdW3WD/hj0eq1aG9SGkGJX92FvnvkbXXN92EWeJKoKGIz6Wg0I+KvgNrfZgDIuJ8qTVh ikYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696983855; x=1697588655; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XrQH8uTi2PNi7eIZX2jE67w381DSDyiihJBLQImx08g=; b=fK48X0m+T1QlO6jgE6mZH9kBbHQ+5CWN+otfP1GLxAZQdHCyQ24TZK/mZt0z08wPK3 BAJwTmzGEiUc+OCEPCDYk9Pk8VcR2yPxAuBN7tWIPjqwV1y2GcHCpoeT4DGcivRqaXtL Ebuhr7eIuUZ4bVrR/6YXJqiy7LYt2jN9HJroodY7anyFqCU0jpcWDP6kE+uN6cT/+ReN YfmWHY6SjxOeHZDhWofjJ1xxuxdlwQgIy8YCoAiyJqy9WPjEQhCDur7Ufjd2c79zESUw I4Pn568zty+E4LXqsNpH80b8IdsORPyqOmuY9zY8tfTCVscPTcGG9Gj3aOr2BkkSOre2 K5gw== X-Gm-Message-State: AOJu0YxUDKlwjD/wyn8Z8YAxhnrIa6beDs6n6sh4x2kkTHdVBri16Mwi c29et9AtLBe5T4PV+9x+AFIhkz81/BNLVA== X-Google-Smtp-Source: AGHT+IGLbNYBhVb6bud3DUdAPYT7TiaJXDLFg+I//xnR/fXLyqLujTOhbXPV6rRgqmfWLkygMjwc1A== X-Received: by 2002:a0c:f1c9:0:b0:66c:eff1:73d0 with SMTP id u9-20020a0cf1c9000000b0066ceff173d0mr3214059qvl.14.1696983855119; Tue, 10 Oct 2023 17:24:15 -0700 (PDT) Received: from localhost.localdomain (dsl-10-149-16.b2b2c.ca. [72.10.149.16]) by smtp.gmail.com with ESMTPSA id i19-20020a0cf393000000b00632209f7157sm5134851qvk.143.2023.10.10.17.24.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 17:24:14 -0700 (PDT) From: Maxim Cournoyer Date: Tue, 10 Oct 2023 20:24:05 -0400 Message-ID: <0a5e027af3c0b61f9ab9f3c66e73b7a769eef7fd.1696983695.git.maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * doc/contributing.texi (Contributing) [Reviewing the Work of Others]: New section. * doc/contributing.texi (Debbugs Usertags): Expound with Emacs Debbugs information and document the 'reviewed-looks-good' usertag. Series-version: 2 Series-cc: ludo@gnu.org Series-to: 66436@debbugs.gnu.org Change-Id: I56630b15ec4fbc5c67e5420dbf2838556a005d6b Co-authored-by: Ludovic Courtès --- v2: integrate guidelines suggested by Ludovic doc/contributing.texi | 93 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 88 insertions(+), 5 deletions(-) base-commit: 5a8f9d32f5196263bc50c2059bac4c4226784a59 diff --git a/doc/contributing.texi b/doc/contributing.texi index 864190b119..b8a0839c7f 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -29,6 +29,7 @@ Contributing * Submitting Patches:: Share your work. * Tracking Bugs and Changes:: Keeping it all organized. * Commit Access:: Pushing to the official repository. +* Reviewing the Work of Others:: Some guidelines for sharing reviews. * Updating the Guix Package:: Updating the Guix package definition. * Writing Documentation:: Improving documentation in GNU Guix. * Translating Guix:: Make Guix speak your native language. @@ -605,7 +606,7 @@ Packaging Guidelines * Version Numbers:: When the name is not enough. * Synopses and Descriptions:: Helping users find the right package. * Snippets versus Phases:: Whether to use a snippet, or a build phase. -* Cyclic Module Dependencies:: Going full circle. +* Cyclic Module Dependencies:: Going full circle. * Emacs Packages:: Your Elisp fix. * Python Modules:: A touch of British comedy. * Perl Modules:: Little pearls. @@ -1972,7 +1973,12 @@ Debbugs Usertags tag any bug with an arbitrary label. Bugs can be searched by usertag, so this is a handy way to organize bugs@footnote{The list of usertags is public information, and anyone can modify any user's list of usertags, -so keep that in mind if you choose to use this feature.}. +so keep that in mind if you choose to use this feature.}. If you use +Emacs Debbugs, the entry-point to consult existing usertags is the +@samp{C-u M-x debbugs-gnu-usertags} procedure. To set a usertag, press +@samp{C} while consulting a bug within the *Guix-Patches* buffer opened +with @samp{C-u M-x debbugs-gnu-bugs} buffer, then select @code{usertag} +and follow the instructions. For example, to view all the bug reports (or patches, in the case of @code{guix-patches}) tagged with the usertag @code{powerpc64le-linux} @@ -1985,9 +1991,9 @@ Debbugs Usertags to interact with Debbugs. In Guix, we are experimenting with usertags to keep track of -architecture-specific issues. To facilitate collaboration, all our -usertags are associated with the single user @code{guix}. The following -usertags currently exist for that user: +architecture-specific issues, as well as reviewed ones. To facilitate +collaboration, all our usertags are associated with the single user +@code{guix}. The following usertags currently exist for that user: @table @code @@ -2005,6 +2011,9 @@ Debbugs Usertags appropriate to assign this usertag to a bug report for a package that fails to build reproducibly. +@item reviewed-looks-good +You have reviewed the series and it looks good to you (LGTM). + @end table If you're a committer and you want to add a usertag, just start using it @@ -2237,6 +2246,80 @@ Commit Access you're welcome to use your expertise and commit rights to help other contributors, too! +@node Reviewing the Work of Others +@section Reviewing the Work of Others + +Perhaps the biggest action you can do to help GNU Guix grow as a project +is to review the work contributed by others. You do not need to be a +committer to do so; applying, reading the source, building, linting and +running other people's series and sharing your comments about your +experience will give some confidence to committers, and should result in +the proposed change being merged faster. + +@cindex reviewing, guidelines +Review comments should be unambiguous; be as clear and explicit as you +can about what you think should be changed, ensuring the author can take +action on it. Please try to keep the following guidelines in mind +during review: + +@enumerate +@item +@emph{Be clear and explicit about changes you are suggesting}, ensuring +the author can take action on it. In particular, it is a good idea to +explicitly ask for new revisions when you want it. + +@item +@emph{Remain focused: do not change the scope of the work being +reviewed.} For example, if the contribution touches code that follows a +pattern deemed unwieldy, it would be unfair to ask the submitter to fix +all occurrences of that pattern in the code; to put it simply, if a +problem unrelated to the patch at hand was already there, do not ask the +submitter to fix it. + +@item +@emph{Ensure progress.} As they respond to review, submitters may +submit new revisions of their changes; avoid requesting changes that you +did not request in the previous round of comments. Overall, the +submitter should get a clear sense of progress; the number of items open +for discussion should clearly decrease over time. + +@item +@emph{Review is a discussion.} The submitter's and reviewer's views on +how to achieve a particular change may not always be aligned. As a +reviewer, try hard to explain the rationale for suggestions you make, +and to understand and take into account the submitter's motivation for +doing things in a certain way. + +@item +@emph{Aim for finalization.} Reviewing code is time-consuming. Your +goal as a reviewer is to put the process on a clear path towards +integration, possibly with agreed-upon changes, or rejection, with a +clear and mutually-understood reasoning. Avoid leaving the review +process in a lingering state with no clear way out. +@end enumerate + +@cindex LGTM, Looks Good To Me +When you deem the proposed change adequate and ready for inclusion +within Guix, the following well understood/codified @acronym{LGTM, Looks +Good To Me} phrases should be used to sign off as a reviewer, meaning +you have reviewed the change and that it looks good to you: + +@itemize +@item +If the @emph{whole} series (containing multiple commits) looks good to +you, reply with a @samp{This series LGTM!} to the cover page if it has +one, or to the last patch of the series otherwise. + +@item +If you instead want to mark a @emph{single commit} as reviewed (but not +the whole series), simply reply with @samp{LGTM!} to that commit +message. +@end itemize + +If you are not a committer, you can help others find a @emph{series} you +have reviewed more easily by adding a @code{reviewed-looks-good} usertag +for the @code{guix} user (@pxref{Debbugs Usertags}). + @node Updating the Guix Package @section Updating the Guix Package