From debbugs-submit-bounces@debbugs.gnu.org Sat May 10 11:18:08 2025 Received: (at submit) by debbugs.gnu.org; 10 May 2025 15:18:08 +0000 Received: from localhost ([127.0.0.1]:48156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uDlxn-0007Y7-VW for submit@debbugs.gnu.org; Sat, 10 May 2025 11:18:08 -0400 Received: from lists.gnu.org ([2001:470:142::17]:41974) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uDlxk-0007XM-JV for submit@debbugs.gnu.org; Sat, 10 May 2025 11:18:05 -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 1uDlxf-00077k-7m for guix-patches@gnu.org; Sat, 10 May 2025 11:17:59 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uDlxe-0000fu-W8; Sat, 10 May 2025 11:17:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=O6vn12L+y2gYO75BDP63uEHNFOoOpyrtwnMyqfZdroo=; b=dndcG6b/J0Y4cI XtlRpEd1Jcp6yn6qmn11+9yfOQsSY69z+NVPLgn4IbiYskaa3TS6QaCMqNCJyEx81Vi9lWfaXbcvP zEaMTaQlsrR/YYOUYoerRKY+cv9+jEymcYmgOpYuVqBHLDnvkqJxNkGAkMEBkYHmCNQlCGv++gNFB U+0ArrlRlV5hUskxB+yuYK+PVfpohje4PwnYCLARKyy4yo/YqcH7blRgtb7H/ghmziwvZ39rQ4u5u 8kejis5542oBsf578gVjQV5NqESrmkiFrOn42ENWnYS+dVFcq6qpRaCXH9/d2JOmPfJjuo8S5fUVM eDR3MCkHuZrxcSrVKi4A==; From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH] =?UTF-8?q?teams:=20Add=20=E2=80=9Ccodeowners=E2=80=9D=20a?= =?UTF-8?q?ction.?= Date: Sat, 10 May 2025 17:17:38 +0200 Message-ID: <9b439e84c1b6298141f3b440b91946a012ba3adb.1746890038.git.ludo@gnu.org> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: Gabriel Wicki , Ludovic Courtès , Maxim Cournoyer Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * etc/teams.scm (team->codeowners-snippet, export-codeowners): New procedures. (main): Add “codeowners” action. * doc/contributing.texi (Teams): Document it. Change-Id: I601443981af374d85160833f7096d8c973873fb1 --- doc/contributing.texi | 7 +++++++ etc/teams.scm | 31 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) Hello, This patch enhances ‘etc/teams.scm’ so it can generate a ‘CODEOWNERS’ file. Forgejo can read that file to direct reviews to the right people. The result here is a 357-line file, which looks like this: --8<---------------cut here---------------start------------->8--- gnu/packages/audio\.scm @guix/audio gnu/packages/commencement\.scm @guix/bootstrap gnu/packages/mes\.scm @guix/bootstrap gnu/build-system/cmake\.scm @guix/c++ gnu/build/cmake-build-system\.scm @guix/c++ gnu/packages/c\.scm @guix/c++ gnu/packages/cmake\.scm @guix/c++ gnu/packages/cpp\.scm @guix/c++ gnu/packages/ninja\.scm @guix/c++ gnu/packages/valgrind\.scm @guix/c++ --8<---------------cut here---------------end--------------->8--- Of course we’ll have to create those teams on Codeberg so it can be on any use. Ludo’. diff --git a/doc/contributing.texi b/doc/contributing.texi index f62939dc44..e98407edfd 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -2733,6 +2733,13 @@ Teams [env]$ git send-email --to=@var{ISSUE_NUMBER}@@debbugs.gnu.org -2 @end example +To generate a @file{CODEOWNERS} file, which Forgejo uses to determine +which team or person should review changes to a given set of files, run: + +@example +./etc/teams.scm codeowners > CODEOWNERS +@end example + @node Making Decisions @section Making Decisions diff --git a/etc/teams.scm b/etc/teams.scm index 17b5d4d1fe..5d5e104a48 100755 --- a/etc/teams.scm +++ b/etc/teams.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2022 Simon Tournier ;;; Copyright © 2025 Jelle Licht ;;; Copyright © 2025 Cayetano Santos +;;; Copyright © 2025 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -1016,6 +1017,34 @@ (define (patch->teams patch-file) (find-team-by-scope (apply diff-revisions (git-patch->revisions patch-file))))) +(define (team->codeowners-snippet team) + (string-join (map (lambda (scope) + (format #f "~50a @guix/~a" + (if (regexp*? scope) + (regexp*-pattern scope) + (regexp-quote scope)) + (team-id team))) + (team-scope team)) + "\n" + 'suffix)) + +(define (export-codeowners port) + (let ((teams (sort-teams + (hash-map->list (lambda (_ value) value) %teams)))) + (display "\ +# This -*- conf -*- file was generated by './etc/teams.scm codeowners'. +# +# It describes the expected reviewers for a pull request based on the +# changed files. Unlike what the name of the file suggests they don't +# own the code (ownership is collective in this house!) but merely have +# a good understanding of that area of the codebase and therefore are +# usually suited as a reviewer.\n\n" + port) + (for-each (lambda (team) + (display (team->codeowners-snippet team) port) + (newline port)) + teams))) + (define (main . args) (match args @@ -1049,6 +1078,8 @@ (define (main . args) team-names)) (("show" . team-names) (list-teams team-names)) + (("codeowners") + (export-codeowners (current-output-port))) (anything (format (current-error-port) "Usage: etc/teams.scm [] base-commit: 2e1ead7c8b449b58d571d8f16c1586b675c13ab4 -- 2.49.0 From debbugs-submit-bounces@debbugs.gnu.org Sun May 11 08:49:11 2025 Received: (at 78354) by debbugs.gnu.org; 11 May 2025 12:49:11 +0000 Received: from localhost ([127.0.0.1]:60615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uE67B-0008Np-PY for submit@debbugs.gnu.org; Sun, 11 May 2025 08:49:11 -0400 Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]:61488) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1uE678-0008Lm-OW for 78354@debbugs.gnu.org; Sun, 11 May 2025 08:49:07 -0400 Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-7424ccbef4eso986427b3a.2 for <78354@debbugs.gnu.org>; Sun, 11 May 2025 05:49:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746967740; x=1747572540; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=i9vRczNpwAidIauzDuHRgRdRSUwpGln3Ji28TGUAGng=; b=Ha2wo7LpGj1Ymm2svei+3OUk5+ORg6ql8+Z051xhS0KTRCgKT/Z2jMQ8x8Bf4efRTe TuuB4Tn3FedpJlnAxvC0JIXCcgcEuBBHc78d97mBGDtTPDeBds4V+g6T1tTMjCsaz7UN TE69LftU5nhqqqQ+jAFis0IhhiKOE8GuGCU1J6fnCBFFC+tUXhafqFHlRgaIfEvf3Ydl Re/5ueunJ1ZKBmyFiaxeIdUb0ri61e+apSeQZuMo6hnX2/ROqrPSasT7uLaBdn0DR4c2 ZwYFwPo07yAmWCFAksrxmqHuSo8xlqm63isyJ583DCrOkJ4a1Aej32QpP79meQXe2ZCf OcZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746967740; x=1747572540; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=i9vRczNpwAidIauzDuHRgRdRSUwpGln3Ji28TGUAGng=; b=eNpfEjmeWG45l7YIQaPSsn862nW1LZ7OsdgBhja5/LyNScTwJYB58Drw9cl9rVPA6a uQ+8wqOJcwsFxj2YBm9cT5F2rbV5clq1/gmYCQyKIp+7/9kNB+woBH19XYUnZn7xxxn5 77lwCn1dxoFHRou7F+hEnDHsbRUbDQEvjgHdebo1DNQ9+sZ/pnOZlUsf8ktm2ewGh73B GApcyBWtEqdHLbhsEBiaYqnU/Xcs38qtfrRYhTVChHN/F4/jHjcp1E3sCbaRHD7dpq49 xtXNneEOPSvvmRgwnlVcALGg/Pm0PjgxTMOsd0EELU4O8RKFTgsomG4/52FG8udLHXFt iQrg== X-Gm-Message-State: AOJu0Yz3GvausRdlAaeMr16mi+FYhMJ85NB2MKPpadfhbXNSQgSux3Gj Ltr1/E4BjzoEdCRSVoVnNQolsJypmLj8bGN4qOGujpQBO1BFOzQ9 X-Gm-Gg: ASbGncv4KfXoExm8K7zIzIsF08ozA07NQsMMgeAQpsSO9x02Z3Wzn7GXtYt9388HEZT 3Kv8VZ1Z8VYuRib+kOTDZGwtT8+o0Wpz/kbO8TEljOG2gMZCWrVjSVVVFWQlp61VXDX6fzMNHQ/ SIHoRmrsdHUslCdeZTiihDMCJmNyR2+GsUxWIAkm9hg1tBYVcp+qhYDPmeI1CVCikCY6Lpaeam1 ZaU1H2966KXY4ozSZMhzTtxWffWurU6cbWmnnuL8v/EO3WRR5aDnGYjr8O2UeNVWh8U9jenFXlZ 85HFidYY/lJlEdyKEOfwEHdVOzpnOpUEvNZzb94e8r+5OA/cgw== X-Google-Smtp-Source: AGHT+IHlZBkn3mpRx0QeWXFk/sd26m1JSxIQU+6kjG957HMYpQvOoLFdeU3vlMGLyvhxLq8De9Gh6A== X-Received: by 2002:a17:903:22d2:b0:215:b75f:a1cb with SMTP id d9443c01a7336-22fc8b0fa32mr136157885ad.9.1746967740425; Sun, 11 May 2025 05:49:00 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22fc82c2f43sm45647165ad.252.2025.05.11.05.48.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 11 May 2025 05:48:59 -0700 (PDT) From: Maxim Cournoyer To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#78354] [PATCH] teams: Add =?utf-8?B?4oCcY29kZW93bmVycw==?= =?utf-8?B?4oCd?= action. In-Reply-To: <9b439e84c1b6298141f3b440b91946a012ba3adb.1746890038.git.ludo@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22's?= message of "Sat, 10 May 2025 17:17:38 +0200") References: <9b439e84c1b6298141f3b440b91946a012ba3adb.1746890038.git.ludo@gnu.org> Date: Sun, 11 May 2025 21:48:57 +0900 Message-ID: <871psvtirq.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 78354 Cc: 78354@debbugs.gnu.org, Gabriel Wicki X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Ludovic Court=C3=A8s writes: > * etc/teams.scm (team->codeowners-snippet, export-codeowners): New > procedures. > (main): Add =E2=80=9Ccodeowners=E2=80=9D action. > * doc/contributing.texi (Teams): Document it. > > Change-Id: I601443981af374d85160833f7096d8c973873fb1 Glad to see some use can be salvaged from etc/teams.scm. LGTM! Reviewed-by: Maxim Cournoyer --=20 Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Sun May 11 12:31:12 2025 Received: (at 78354) by debbugs.gnu.org; 11 May 2025 16:31:13 +0000 Received: from localhost ([127.0.0.1]:39067 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uE9a4-0001BY-9r for submit@debbugs.gnu.org; Sun, 11 May 2025 12:31:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51238) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uE9a1-00010L-OI for 78354@debbugs.gnu.org; Sun, 11 May 2025 12:31:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uE9Zv-0000qy-6X; Sun, 11 May 2025 12:31:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=pwqEQ5l18RboB1NqbRgvPQAcbdwmmxQSkmrW+zvnP4o=; b=PL+Qqo9PWoVldlw8eX21 5H6B5l9Ik8yLkJ8s/+LSsV3TaX6d6Azo5OKf8Hv31Y1992Aie0+adER9eQHOr8Vuoy/k2kmo31QJD U6CxCXBO505XLYiqbz08Vny7b/tDDAwXhW3oNiUb6Tbf70FbaujaEt4pJJ61UkC3EOsXDlGCaecxh nDWBfYhdchcP7mxp2sfmGDq1Ek+ibgsfmhKZwg5ELZtf447CuU8dd+UL9JqrHPC+4NyzE6mHTlm1J hHaZc986ibv4ykA/D9Puah2OMwewVAgnTMWAgNQhbkE/eoSoU6c9cyqjLUogZpB9UdY//3YtBdMHz dN/lRj5Ck8SUOw==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: [bug#78354] [PATCH] teams: Add =?utf-8?B?4oCcY29kZW93bmVycw==?= =?utf-8?B?4oCd?= action. In-Reply-To: <871psvtirq.fsf@gmail.com> (Maxim Cournoyer's message of "Sun, 11 May 2025 21:48:57 +0900") References: <9b439e84c1b6298141f3b440b91946a012ba3adb.1746890038.git.ludo@gnu.org> <871psvtirq.fsf@gmail.com> User-Agent: mu4e 1.12.9; emacs 29.4 X-URL: https://people.bordeaux.inria.fr/lcourtes/ X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu X-Revolutionary-Date: Duodi 22 =?utf-8?Q?Flor=C3=A9al?= an 233 de la =?utf-8?Q?R=C3=A9volution=2C?= jour de la Fritillaire Date: Sun, 11 May 2025 17:05:36 +0200 Message-ID: <87h61r2nnj.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78354 Cc: 78354@debbugs.gnu.org, Gabriel Wicki X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Maxim, Maxim Cournoyer writes: > Ludovic Court=C3=A8s writes: > >> * etc/teams.scm (team->codeowners-snippet, export-codeowners): New >> procedures. >> (main): Add =E2=80=9Ccodeowners=E2=80=9D action. >> * doc/contributing.texi (Teams): Document it. >> >> Change-Id: I601443981af374d85160833f7096d8c973873fb1 > > Glad to see some use can be salvaged from etc/teams.scm. LGTM! Thanks. =E2=80=98teams.scm=E2=80=99 remains useful anyway, in particular s= ince teams in Forgejo are currently visible only to org members: . Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri May 23 07:40:49 2025 Received: (at 78354-done) by debbugs.gnu.org; 23 May 2025 11:40:50 +0000 Received: from localhost ([127.0.0.1]:46158 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1uIQld-0001s3-7g for submit@debbugs.gnu.org; Fri, 23 May 2025 07:40:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40832) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1uIQlQ-0001qQ-GN for 78354-done@debbugs.gnu.org; Fri, 23 May 2025 07:40:40 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uIQlK-0004AK-7W; Fri, 23 May 2025 07:40:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=mn1k6fWfwFen+PF4zQIUu3rQcsb9wKT1zKLtbIdnBOQ=; b=YOBbFADwDHHvT9vlQ9RS ZDPKbbrqZKCVpP1mDdkeEN9Kvbe8H1JzM+oU8nHi3iUbO86/JX939i0EOg/ZHplLkbc50yUsgAU9/ aMlgXeeTGQPD+B+7jw32aM862c8ckLfIUI/bO9SInUDlqbc8/r1FczGHsftPRQR20DcI3FMMv7Pon hSM5I8O/+0FSpFk5zOvkZSrLvkmYdQYFNGWumZWSBr507+Y+axQ6qbupP/mwF6nC/v3rYESoEQ/18 Nqhu/z/p+jdRBc+fI78Nf8GQ1a3T1TyqCMb7KTRVJpHR21BezSsxkoZSSEM+KIcQ7u11+uuw7Xx7z n8M35ZLLdilwdQ==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: [bug#78354] [PATCH] teams: Add =?utf-8?B?4oCcY29kZW93bmVycw==?= =?utf-8?B?4oCd?= action. In-Reply-To: <871psvtirq.fsf@gmail.com> (Maxim Cournoyer's message of "Sun, 11 May 2025 21:48:57 +0900") References: <9b439e84c1b6298141f3b440b91946a012ba3adb.1746890038.git.ludo@gnu.org> <871psvtirq.fsf@gmail.com> Date: Fri, 23 May 2025 13:36:51 +0200 Message-ID: <875xhr1ru4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 78354-done Cc: 78354-done@debbugs.gnu.org, Gabriel Wicki X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Maxim Cournoyer writes: > Ludovic Court=C3=A8s writes: > >> * etc/teams.scm (team->codeowners-snippet, export-codeowners): New >> procedures. >> (main): Add =E2=80=9Ccodeowners=E2=80=9D action. >> * doc/contributing.texi (Teams): Document it. >> >> Change-Id: I601443981af374d85160833f7096d8c973873fb1 > > Glad to see some use can be salvaged from etc/teams.scm. LGTM! > > Reviewed-by: Maxim Cournoyer Pushed as 8dff81313876a54519ce17e9fda64d4310e2dd5c. Ludo=E2=80=99.