From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id wN0YMAKtwGXvQQEA62LTzQ:P1 (envelope-from ) for ; Mon, 05 Feb 2024 10:40:18 +0100 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id wN0YMAKtwGXvQQEA62LTzQ (envelope-from ) for ; Mon, 05 Feb 2024 10:40:18 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1707126018; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post:autocrypt:autocrypt; bh=/0x2QOWEAtyZmBSQAxSzeoAiBTEcguk11IutrX3D+OQ=; b=ulbaS7yi8JC+0ZawsI44flqanvl5BYyBSzyv5e+t0X0vTWT7zIXJbFfv+dRl4NdnnOXJk2 MHcUmHsT9aVrzsLL2zvmEOESigV87lXuETwhR2HqprRT//YgaA2YIC+HlqSrIHeCu7HxRP UYvXR7ICuzzcPo7xeBID+2NR9dz/eBm01jvZiODJqhrFBbE+Bv+8mNmQIFcYOyG2fXJwKR 9mLySuVrGVSgWLHB8fb94pD6XCXbBd6Reh1su02M4oNu6tQjEtitRMZH08DV3FOUaM5IZE ISDq04ITVM+PentHI+bx8gr/NngesmfaMc4Bar7DcSfI/FFaDN9t0m+k5V9UIQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1707126018; a=rsa-sha256; cv=none; b=s2XuZ2TgWhI5YRLMPIO9/babGfDLNVgZSK56o2wVTXR5Y3XCS0YSpB35/hucq+CmuuvTtZ daVz4xIpT+XzywLMNXUFl/Goe/8ay2fwHnfoYMQiV3QYMc/FD61VD3iL6/t/4HCVuvCjVE urlNNXS3AmreBmymz4HzLGa3Szoq1HwoPBvWNwZFzEvGjUcI3FvzWOeakcWzUzZXzed85B xipIJmF89GgYW1xUBg+ReuGsAHZf50v8OaARn86af/eXx+PwrLaW30Xy5jGfKIWQPJ8XUm gF/1vGRf3ePWecab+BfMW2rJEb0dMDEmlwtUPcAV1ykeUIW3NhRoVm8T/xsHYw== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 721E72362A for ; Mon, 5 Feb 2024 10:40:18 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rWvSE-0002Dq-G0; Mon, 05 Feb 2024 04:39:54 -0500 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 1rWvSC-0002AB-K4; Mon, 05 Feb 2024 04:39:52 -0500 Received: from mailtransmit05.runbox.com ([2a0c:5a00:149::26]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rWvS8-0004Hj-Bd; Mon, 05 Feb 2024 04:39:51 -0500 Received: from mailtransmit03.runbox ([10.9.9.163] helo=aibo.runbox.com) by mailtransmit05.runbox.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.93) (envelope-from ) id 1rWvS0-00Akqc-F5; Mon, 05 Feb 2024 10:39:40 +0100 Received: from [10.9.9.72] (helo=submission01.runbox) by mailtransmit03.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1rWvS0-0006DM-4M; Mon, 05 Feb 2024 10:39:40 +0100 Received: by submission01.runbox with esmtpsa [Authenticated ID (641962)] (TLS1.2:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.93) id 1rWvRj-00Einy-91; Mon, 05 Feb 2024 10:39:23 +0100 Message-ID: <10c82db7-6fc6-4fa0-8213-e207fa54db58@futurile.net> Date: Mon, 5 Feb 2024 09:39:21 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Steve George To: guix-devel@gnu.org Subject: Guix Days: Patch flow discussion Autocrypt: addr=steve@futurile.net; keydata= xsDiBEeOGAkRBADbe+7yuHsSTTf+qTgHRwHhJDGQNyQttd9xZibSv5fYRn8ZlOxFMxbZT+7A g8iDI+baRQ3P3zRDbt3my4gNnKSsIzAbJOguG2V3L5Ffwpl6O9fADO9QskQMUIZlmCn9p1+7 8wR32shpydC0EXn/QIArV9A7Zb8q95QvM2BC1bn/FwCg4g01xZ3RNrl8DweLJiz06G1HzAsE AJsvg+pzB3afZdnh+e/iFiu+L4eupyy4bqPGzDKd64p36AkD+WcXOEDrefsGeaB2vzpiLtmk x0WOPJWPHz4e7oHR/FgR2RVqXllqb+X0Kz0OQ9IEPMot6VF05CJDM730Ucesby+/98BlzkFP qRkzgHlg6wcDgP9+SyaVAnqtvPT0A/4tSwMx4yfjmTxZPNBm46slfoZ30pXb5Sby8jt2e1A6 TDEqqdcOmUi6y+e0gZUhWZM/ADu5LCYXM1V+ZlYckhti95kjlqhhqYXGhgluUZgLPhkcLq7H G0oIxfhnIVaCRJkOp3qwxsmjOCuQ6TzBc1fQlPGwqsjWjVMLN+BXE/SN/s0hU3RldmUgR2Vv cmdlIDxzdGV2ZUBmdXR1cmlsZS5uZXQ+wmMEExECACMFAlV+JpkCGwMHCwkIBwMCAQYVCAIJ CgsEFgIDAQIeAQIXgAAKCRDVKaVaaC5nXEo3AJ94jDsx5bgupvindS7gYgP4pMlfRgCZAYbY CF9DA/Ls6q7c4CaIEfR4bSHOwU0ER44YIRAIAOsIe0DcvPCVm5hI8I0GuudtNlGZYv3f7lI/ vqrvxi29iA+E2Uhlo0YSJcNsfHJW/knn+ssDhXDXzBYpHLYQsn20OGBAWJ3kmCvZUrPFzsmX 4c58p7pnYS2W74kcfV7yNrs/We/zGDJfxgniVyX6dbxi6V9Rs3DTocAvvpFzPUcKydV2jYL8 /igKIIvblbtTKhXMpT4or8cPk/FJUjfiqNDrGliCSAYuuqA4s9+wvHGa8uJGPITH53UIuYtG NZnSGyiI4TyqSj3jmngMKwRs4miZlJRf2gjgOfUBmmSfZ1FN5ujoyK7OyLdi53xqiZ0SytWX 0n02mZA66rSL5uDklJMAAwYIAOQuUYZAf+b67vxUTuacljbY34Liu1QxSib8fPSWFyGAbViQ g/VdRa0F7zC2DHJSyMT257O/gfg3Y5QDr5Hj6YennJ6BoC9V7Cds2kj2av+DZJsUFG6D9Olx mXZTwerbNElnqPgG182dwzWRxi0p8ly5lDLvL9YUO8cTLB1WnOuonAt2zZAJNjApji+s2hNz mqVIjXNXgUpSwrXjMat+pDQ4p2fkK1CStrwHgX5JU0r7E1f7R8nZtNLrCRaoaPrCawb3pa9K okP9nvhNnwbRHW4TflvUyBu7+d4TXBOqQlj6XMB8cSi4OqUzAagrbhR/MW4IstJzfEAEQZEu K8TiSGHCSQQYEQIACQUCR44YIQIbDAAKCRDVKaVaaC5nXDhCAKCPLzJRlndFTe4coYPLCjsL PAfWbwCg2otwkKTWVAqr9ASWl/XUWZprHII= Cc: help-guix@gnu.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: permerror client-ip=2a0c:5a00:149::26; envelope-from=steve@futurile.net; helo=mailtransmit05.runbox.com X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, T_SPF_PERMERROR=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -6.76 X-Spam-Score: -6.76 X-Migadu-Queue-Id: 721E72362A X-Migadu-Scanner: mx12.migadu.com X-TUID: KDA0Mbm2OuXt Hi, Our goal for the discussion: How do we double the number of patches that are *reviewed* and *applied* to Guix in the next six months? Patch flow is a pipeline, to change it we could: a. Increase the number of committers - more people to do the work b. Increase the efficiency of existing committers c. Open the gates by decreasing the quality expected from patches We essentially decided to focus our discussion on (b). We looked at things that 'hinder' and 'help' patch review: Hinders ======== - All our patch reviewers are volunteers doing it in their spare time. - For a volunteer reviewing someone else's work is not very rewarding, most would prefer to use that precious time to scratch their own itch. - Can feel like an Sisyphean task: no matter how many patches someone reviews there are more, exacerbated by the number of Guix packages. - Sense of responsibility: the minute that a reviewer looks at the patch they are now stuck with it - Repetitive and boring: often patches have minor issues, but it's the same sorts of issues time and time again. - Risk of negative social interaction: having to tell someone that their patch is incorrect, or that their contribution cannot be used is difficult and draining. Some people felt it was better to say nothing, rather than to respond to a patch. Helps ====== This led us to the focus on the fact that **reviewing and applying patches can be different people** We looked for ideas to create more reviewers, make reviewing easier and more fun: - Share in the work -------------------- 1. encourage new reviewers to step forward - making it more known that reviewing patches helps to get them applied. Anyone can review patches. 2. create directed 'how-to' documentation for reviewing and connect it to QA so that 'new reviewers' know what to do 3. create documentation about 'when' and 'how' it's appropriate to send a 'v2' version of a patch so that the QA system builds and accepts it. Sometimes, patches rot because non-committers don't want to be seen as 'stealing' someone's work with a v2 patch - but making the small changes and resubmitting to QA is what is required. 4. Pay someone else to do it. Noted but out of scope. 5. Remove old packages overhead. Old untouched packages create mental overhead, and make the task of maintaining the repository in a good state more difficult. We could remove old 'untouched' packages and ones that no-longer compile. We have methods to hide and notify. - Make it more fun ------------------- 1. do online sessions around reviews, some sprints or pairing - both social and a way to spread skills 2. find ways to recognise and appreciate reviewers - 'reviewer of the month' 3. make it a game - we could have a 'Guix London' vs 'Guix Paris' leader board for reviews. Make it a group goal 'can we beat januarys reviews number' 4. create some graphs / leaderboard so we know how many patches are being reviewed and we can recognise the contribution - Automate it away ------------------- 1. Chris is continuing to try and automate away the boring work - general agreement in the group that QA has made a lot of difference. 2. general discussion about create a 'guix review' command (Nix has one) which would download a branch with the appropriate patch and build it locally. This is for instances where some adjustment is needed or to check a build. While this can be done today, it's a number of steps and quite involved. Agreed Actions ============== * [Chris]: continuing his work to improve QA automation. Implication was we'll need some reports / graphs - but these were not discussed in detail. * [Futurile]: organise a **patch review online sessions**. To run every 13 days (so it rotates through the week) - for 3 months to see if it has any traction. Co-ordinate with maintainers so that patches that are reviewed can be committed Actions looking for someone - you? ==================================== * Carry forward the 'guix review' command idea * Write an RFC and discuss the idea of removing older 'bit-rot' packages * write 'how-to' documentation for reviews and when it's socially acceptable to do a v2 patch. A checklist-like approach. If you were in the discussion and I've misrepresented your point, or forgotten an important aspect please please reply and correct me. Also, if you would like to help on any of the tasks please email back to the group so we can all co-ordinate. Finally, thank-you to everyone who came along and put their shared brain power to the task - look forward to doing some patch reviews together online in the coming weeks! Thanks, Steve/Futurile