public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael Kubacki" <mikuback@linux.microsoft.com>
To: devel@edk2.groups.io, michael.d.kinney@intel.com,
	"quic_llindhol@quicinc.com" <quic_llindhol@quicinc.com>,
	"marcin.juszkiewicz@linaro.org" <marcin.juszkiewicz@linaro.org>,
	"rfc@edk2.groups.io" <rfc@edk2.groups.io>
Cc: Leif Lindholm <leif@nuviainc.com>,
	"Andrew Fish (afish@apple.com)" <afish@apple.com>
Subject: Re: [edk2-devel] Proposal to switch TianoCore Code Review from email to GitHub Pull Requests on 5-24-2024
Date: Fri, 3 May 2024 10:21:37 -0700	[thread overview]
Message-ID: <ecf367ac-3244-4f49-a3eb-0b5accb5768d@linux.microsoft.com> (raw)
In-Reply-To: <CO1PR11MB4929F102EA9F0FB367F11533D2182@CO1PR11MB4929.namprd11.prod.outlook.com>

Hi Mike,

I've seen that repo in that past.

Are the steps defined for what's needed to move to CODEWONERS (and 
REVIEWERS) in terms of technical and process changes needed?

For example, could we start with CODEOWNERS manually synced to 
Maintainers.txt, Maintainers.txt dropped, and then add REVIEWERS in the 
future with additional actions to verify file coverage, etc.?

Thanks,
Michael

On 5/2/2024 12:24 PM, Michael D Kinney wrote:
> Hi Michael,
> 
> I have a version of the auto assignment working, but needs to be
> migrated to TianoCore and synced with the latest Maintainers.txt.
> 
> 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.
> 
> 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.
> 
> 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.
> 
> Details on the auto assignment POC
> ==================================
> 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
> 
> It was activated on this repo to run experiments:
>      https://github.com/tianocore/edk2-codereview/tree/master/.github
> 
> Example CODEOWNERS file:
>      https://github.com/tianocore/edk2-codereview/blob/master/.github/CODEOWNERS
> 
> Example REVIEWERS file using same format as CODEOWNERS
>      https://github.com/tianocore/edk2-codereview/blob/master/.github/REVIEWERS
> 
> Action to assign reviewers from REVIEWERS file:
>      https://github.com/tianocore/edk2-codereview/blob/master/.github/workflows/AssignReviewers.yml
> 
>      Depends on: https://github.com/mdkinney/github-action-assign-reviewers
> 
> Action to verify that all files in a repo have CODEOWNES coverage
>      https://github.com/tianocore/edk2-codereview/blob/master/.github/workflows/CheckCodeOwnerFiles.yml
> 
> Action to verify that Maintainers.txt, CODEOWNERS, and REVIEWERS are synced.
> This is to support transition from using Maintainers.txt to using CODEOWNERS
> and REVIEWERS and can be dropped when Maintainers.txt is removed.
>      https://github.com/tianocore/edk2-codereview/blob/master/.github/workflows/CheckCodeOwnerMaintainers.yml
> 
>      Depends on: https://github.com/mdkinney/github-action-check-codeowners-maintainers
> 
> Thanks,
> 
> Mike
> 
>> -----Original Message-----
>> From: Michael Kubacki <mikuback@linux.microsoft.com>
>> Sent: Thursday, May 2, 2024 8:21 AM
>> To: devel@edk2.groups.io; quic_llindhol@quicinc.com;
>> marcin.juszkiewicz@linaro.org; Kinney, Michael D
>> <michael.d.kinney@intel.com>; rfc@edk2.groups.io
>> Cc: Leif Lindholm <leif@nuviainc.com>; Andrew Fish (afish@apple.com)
>> <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 19: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.
>>>
>>> /
>>>       Leif
>>>
>>>>> * The Pull Request submitter is required to invite the required
>>>>>     maintainers and reviewers to the pull request. This is the same
>>>>>     set of maintainers and reviewers that are required to be listed
>> in
>>>>>     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.
>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
> 
> 
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-



  reply	other threads:[~2024-05-03 17:21 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-01 17:43 [edk2-devel] Proposal to switch TianoCore Code Review from email to GitHub Pull Requests on 5-24-2024 Michael D Kinney
2024-05-01 18:12 ` Leif Lindholm
2024-05-01 23:19   ` Dionna Glaze via groups.io
2024-05-02 15:59     ` Brian J. Johnson
2024-05-02 16:09       ` Dionna Glaze via groups.io
2024-05-02 16:30       ` [edk2-rfc] " Michael D Kinney
2024-05-06 16:41   ` Leara, William via groups.io
2024-05-02  1:28 ` Rebecca Cran
2024-05-02 10:21   ` Leif Lindholm
2024-05-02  3:08 ` Michael Kubacki
2024-05-02 10:57   ` Leif Lindholm
2024-05-02 16:37     ` Michael D Kinney
2024-05-03 16:58       ` Michael Kubacki
2024-05-03 16:54     ` Michael Kubacki
2024-05-02  6:33 ` Marcin Juszkiewicz
2024-05-02 10:34   ` Leif Lindholm
2024-05-02 15:21     ` Michael Kubacki
2024-05-02 16:24       ` Michael D Kinney
2024-05-03 17:21         ` Michael Kubacki [this message]
2024-05-03 19:16           ` [edk2-rfc] " Michael D Kinney
2024-05-02  9:37 ` Ard Biesheuvel
2024-05-02 15:14   ` Michael Kubacki
2024-05-03  0:35     ` [edk2-rfc] " Rebecca Cran
2024-05-02 17:50 ` Pedro Falcato
2024-05-02 18:17   ` [edk2-rfc] " Michael D Kinney
2024-05-03 17:38     ` Pedro Falcato
2024-05-03 20:12       ` Michael D Kinney
2024-05-03 20:38         ` Michael D Kinney
2024-05-04  0:57           ` Michael Kubacki
2024-05-05 18:10             ` Pedro Falcato
2024-05-06 10:00           ` Ard Biesheuvel
2024-05-06 15:11             ` Michael D Kinney
2024-05-06 15:30               ` Ard Biesheuvel
2024-05-06 15:56                 ` Michael D Kinney
2024-05-06 16:09                   ` Ard Biesheuvel
2024-05-10 20:57       ` Brian J. Johnson
2024-05-15 17:03         ` Michael D Kinney
2024-05-24 12:20 ` [edk2-devel] [edk2-rfc] " Rebecca Cran
2024-05-24 14:53   ` Michael Kubacki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ecf367ac-3244-4f49-a3eb-0b5accb5768d@linux.microsoft.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox