From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 03E42941A6B for ; Fri, 3 May 2024 17:21:41 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=737WiuMrhlsSr/LM0seQ2qqtSmNG4iaqJNX3oYdGbg8=; c=relaxed/simple; d=groups.io; h=DKIM-Filter:Message-ID:Date:MIME-Version:User-Agent:Subject:To:Cc:References:From:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20240206; t=1714756900; v=1; b=metORwJDTmJ2Jbfef+tPHrt0UpM+DbKh3sX/E/Bp+iZX3eNYeqjTtEq4HxdL1lN0uPkPsdim Ye/+smHm2VGSGUvypsFyiHV8XqNFzxVwMoqImUKyn/5v4yWq6BVfw3MYQFmDoQTZJHyBsBJw0j9 1z1Xdg+uCmU830nceiSdmiv1SBwk600hoUqWtJcqU0h3bGt5AdiDfUxsHQzs8T8GgniCDMnm4gt qTjK42XFn9k1VDdgYB2sOvGxwVSJTh4TnNUkJUl9fSyZO+ILdMHejDTs+YpbVoo9KfT80Hw1ysd UGmZDH1kRls3N0Swr7KvcyML76DcQoyVMv2MoDSzQOH2g== X-Received: by 127.0.0.2 with SMTP id dYr8YY7687511xoxVTrDWf5U; Fri, 03 May 2024 10:21:40 -0700 X-Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web10.258.1714756899867066519 for ; Fri, 03 May 2024 10:21:39 -0700 X-Received: from [10.6.0.181] (unknown [20.39.63.14]) by linux.microsoft.com (Postfix) with ESMTPSA id C404C20B2C82; Fri, 3 May 2024 10:21:38 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com C404C20B2C82 Message-ID: Date: Fri, 3 May 2024 10:21:37 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [edk2-devel] Proposal to switch TianoCore Code Review from email to GitHub Pull Requests on 5-24-2024 To: devel@edk2.groups.io, michael.d.kinney@intel.com, "quic_llindhol@quicinc.com" , "marcin.juszkiewicz@linaro.org" , "rfc@edk2.groups.io" Cc: Leif Lindholm , "Andrew Fish (afish@apple.com)" References: <1a957a2a-f055-4af8-bdca-e6117a0dd5ae@linaro.org> <48c29377-f274-4e78-865d-3bda9607727b@quicinc.com> From: "Michael Kubacki" In-Reply-To: Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Fri, 03 May 2024 10:21:39 -0700 Resent-From: mikuback@linux.microsoft.com Reply-To: devel@edk2.groups.io,mikuback@linux.microsoft.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: HarYHyOAtzdBSM9JCPoQ3CDzx7686176AA= Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b=metORwJD; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=linux.microsoft.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io Hi Mike, I've seen that repo in that past. Are the steps defined for what's needed to move to CODEWONERS (and=20 REVIEWERS) in terms of technical and process changes needed? For example, could we start with CODEOWNERS manually synced to=20 Maintainers.txt, Maintainers.txt dropped, and then add REVIEWERS in the=20 future with additional actions to verify file coverage, etc.? Thanks, Michael On 5/2/2024 12:24 PM, Michael D Kinney wrote: > Hi Michael, >=20 > I have a version of the auto assignment working, but needs to be > migrated to TianoCore and synced with the latest Maintainers.txt. >=20 > My experience getting this running even as a POC was that it took a lot > of effort to make sure the best security practices were followed and > to configure the empty GitHub App with tokens and permissions. Anytime > custom actions are added, resources to implement, validate, and > support if they ever fail must be in place. >=20 > My question is if there is a manual process that can be used to > start and these type of automations can be added over time as > dedicated resources are identified. >=20 > Dionna's feedback about contributors not being able to add reviewers > to a PR is correct. Contributors that are not members of the > EDK II Maintainers or EDK II Reviewers teams will either need to wait > for a Maintainer or Reviewer to add reviewers, or the contributor must > be added as an "outside collaborator" by an admin. For a manual process > this would require Maintainers to monitor new PRs and make sure the > correct set of Maintainers and Reviewers are added. Perhaps the > contributor can include @GitHubId mentions in the PR for the required > maintainers/reviewers so there are email notifications. >=20 > Details on the auto assignment POC > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > It uses CODEOWNERS so maintainers are auto assigned and can use GitHub > features to prevent merges without maintainer approval. The idea is to > minimize the custom behavior and use as many built-in GitHub features as > possible. It then reuses the CODEOWNERS syntax for a new file called > REVIEWERS along with some GitHub Actions to auto assign reviewers. The > actions are run by a registered empty GitHub application so it has a > TianoCore organization bot that is executing the actions with TianoCore > org permissions instead of an individual TianoCore member permissions. > Example PR with the bot with the name "tianocore-assign-reviewers" > performing assignments: > https://github.com/tianocore/edk2-codereview/pull/91 >=20 > It was activated on this repo to run experiments: > https://github.com/tianocore/edk2-codereview/tree/master/.github >=20 > Example CODEOWNERS file: > https://github.com/tianocore/edk2-codereview/blob/master/.github/COD= EOWNERS >=20 > Example REVIEWERS file using same format as CODEOWNERS > https://github.com/tianocore/edk2-codereview/blob/master/.github/REV= IEWERS >=20 > Action to assign reviewers from REVIEWERS file: > https://github.com/tianocore/edk2-codereview/blob/master/.github/wor= kflows/AssignReviewers.yml >=20 > Depends on: https://github.com/mdkinney/github-action-assign-reviewe= rs >=20 > Action to verify that all files in a repo have CODEOWNES coverage > https://github.com/tianocore/edk2-codereview/blob/master/.github/wor= kflows/CheckCodeOwnerFiles.yml >=20 > Action to verify that Maintainers.txt, CODEOWNERS, and REVIEWERS are sync= ed. > This is to support transition from using Maintainers.txt to using CODEOWN= ERS > and REVIEWERS and can be dropped when Maintainers.txt is removed. > https://github.com/tianocore/edk2-codereview/blob/master/.github/wor= kflows/CheckCodeOwnerMaintainers.yml >=20 > Depends on: https://github.com/mdkinney/github-action-check-codeowne= rs-maintainers >=20 > Thanks, >=20 > Mike >=20 >> -----Original Message----- >> From: Michael Kubacki >> Sent: Thursday, May 2, 2024 8:21 AM >> To: devel@edk2.groups.io; quic_llindhol@quicinc.com; >> marcin.juszkiewicz@linaro.org; Kinney, Michael D >> ; rfc@edk2.groups.io >> Cc: Leif Lindholm ; Andrew Fish (afish@apple.com) >> >> Subject: Re: [edk2-devel] Proposal to switch TianoCore Code Review from >> email to GitHub Pull Requests on 5-24-2024 >> >> On 5/2/2024 6:34 AM, Leif Lindholm wrote: >>> On 2024-05-02 07:33, Marcin Juszkiewicz wrote: >>>> W dniu 1.05.2024 o=C2=A019:43, Michael D Kinney via groups.io pisze: >>>>> I would like to propose that TianoCore move all code review from >> email >>>>> based code reviews to GitHub Pull Requests based code reviews. >>>>> >>>>> The proposed date to switch would be immediately after the next >> stable >>>>> tag which is currently scheduled for May 24, 2024. >>>> >>>> O yes! Fully for it! >>>> >>>> Does it mean edk2 only or edk2/edk2-platforms/edk2-non-osi and other >>>> tianocore/ repositories? >>> >>> I don't see why we couldn't switch all of them. Other than we need to >>> get all the Maintainers.txt updated with code forge usernames first. >>> >>> We may want to do one at a time though. >>> >>> / >>> =C2=A0=C2=A0=C2=A0 Leif >>> >>>>> * The Pull Request submitter is required to invite the required >>>>> =C2=A0=C2=A0 maintainers and reviewers to the pull request. This is = the same >>>>> =C2=A0=C2=A0 set of maintainers and reviewers that are required to b= e listed >> in >>>>> =C2=A0=C2=A0 Cc: tags in today's process. >>>> >>>> That can be done by github action started automatically after opening >>>> PR. May require changes to GetMaintainer.py script. Would be good to >>>> have in case someone forget to add one of maintainers. >>>> >>>> Also would be nice to have a bot running PatchCheck and uncrustify on >> PR. >>>> >> Yes, this would need to be in a GitHub workflow so it could parse the >> file and ultimately use the GitHub API to add the maintainers. As I >> mentioned in another email, my team has experience doing this and we're >> happy to help where we can. >> >>>> >>>> >>>> >>>> >>> >>> >>> >>> >>> >=20 >=20 >=20 >=20 >=20 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#118559): https://edk2.groups.io/g/devel/message/118559 Mute This Topic: https://groups.io/mt/105847510/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-