From: "Sean" <sean.brogan@microsoft.com>
To: "rfc@edk2.groups.io" <rfc@edk2.groups.io>,
"lersek@redhat.com" <lersek@redhat.com>,
"Ni, Ray" <ray.ni@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>,
"Gao, Liming" <liming.gao@intel.com>,
"Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-rfc] [edk2-devel] [RFC] EDK II Continuous Integration Phase 1
Date: Tue, 3 Sep 2019 17:09:56 +0000 [thread overview]
Message-ID: <DM5PR21MB0842ED9F69EA51BBC71CAA46E1B90@DM5PR21MB0842.namprd21.prod.outlook.com> (raw)
In-Reply-To: <c34b3dac-04a3-d4a7-18af-f7f6c8365e46@redhat.com>
Laszlo/Mike,
The idea that the maintainer must create the PR is fighting the optimized github PR flow. Github and PRs process is optimized for letting everyone contribute from "their" fork while still protecting and putting process in place for the "upstream".
Why not use github to assign maintainers to each package or filepath and then let contributors submit their own PR to edk2 after the mailing list has approved. Then the PR has a policy that someone that is the maintainer of all files changed must approve before the PR can be completed (or you could even set it so that maintainer must complete PR). This would have the benefit of less monotonous work for the maintainers and on rejected PRs the contributor could easily update their branch and resubmit their PR.
Thanks
Sean
-----Original Message-----
From: rfc@edk2.groups.io <rfc@edk2.groups.io> On Behalf Of Laszlo Ersek via Groups.Io
Sent: Tuesday, September 3, 2019 9:55 AM
To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io; rfc@edk2.groups.io; Gao, Liming <liming.gao@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: Re: [edk2-rfc] [edk2-devel] [RFC] EDK II Continuous Integration Phase 1
On 09/03/19 18:41, Ni, Ray wrote:
>> -----Original Message-----
>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Laszlo
>> Ersek
>> Sent: Tuesday, September 3, 2019 6:20 AM
>> To: Ni, Ray <ray.ni@intel.com>; rfc@edk2.groups.io;
>> devel@edk2.groups.io; Gao, Liming <liming.gao@intel.com>; Kinney,
>> Michael D <michael.d.kinney@intel.com>
>> Subject: Re: [edk2-rfc] [edk2-devel] [RFC] EDK II Continuous
>> Integration Phase 1
>>
>> On 09/03/19 05:39, Ni, Ray wrote:
>>> Can someone draw a flow chart of who does what to help clarify?
>>
>> I don't see this as a huge change, relative to the current process.
>>
>> Before, it's always been up to the subsys maintainer to apply &
>> rebase the patches locally, pick up the feedback tags, and run at
>> least *some* build tests before pushing.
>>
>> After, the final git push is not to "origin" but to a personal branch
>> on github.com, and then a github PR is needed. If that fails, notify
>> the submitter. That's all, as far as I can see.
>>
>>> It sounds like maintainers are going to be the very important bridges between CI system and the patch owners (developers).
>> Important it is I agree but boring it is as well I have to say.
>>
>> Oh, it *is* absolutely boring.
>>
>>> Are maintainers still needed to be picked up/chosen/promoted from developers?
>>
>> Would you trust a person to apply, build-test, and push your
>> UefiCpuPkg patches, if that person had *zero* UefiCpuPkg development experience?
>> (Or even zero edk2 development experience?)
>
> Can we change the process a bit?
> 1. maintainers created pull requests on behave of the patch owners 2.
> patch owners can be notified automatically if pull requests fail
I believe this can work if:
- the submitter has a github account
- the maintainer knows the submitter's account name
- the maintainer manually subscribes the submitter to the PR
(I have never tried this myself)
> 3. patch owners update the pull requests
> (I am not familiar to pull requests. I assume the rights of
> modifying pull requests and creating pull requests are separated. Are
> they?)
PRs should not be updated. If there is a CI failure, the PR should be rejected. If that happens automatically, that's great. If not, then someone must close the PR manually. If the patch series submitter can do that, that's great (I have no idea if that works!) If only the PR owner (= maintainer) can close the PR, then they should close it.
Either way, the patch author will have to submit a v2 to the list. When that is sufficiently reviewed, the same process starts (new PR opened by maintainer).
> So, maintainers only need to initiate the pull requests.
I hope this can actually work. We need to test this out first.
> It assumes when pull requests are initiated, everyone at least agrees the justifications of the changes are valid and the ways the changes are done.
I agree fully about this. If the CI check completes, then the changes are pushed to master automatically! (Only if the push is a fast-forward
-- otherwise the PR is rejected again. GitHub will not be allowed to merge or rebase withoout supervision.)
Thanks
Laszlo
next prev parent reply other threads:[~2019-09-03 17:09 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-29 20:22 [RFC] EDK II Continuous Integration Phase 1 Michael D Kinney
2019-08-29 20:39 ` [edk2-devel] " Michael Zimmermann
2019-08-29 21:08 ` Michael D Kinney
2019-08-30 2:21 ` Sean
2019-08-30 13:11 ` [edk2-devel] " Laszlo Ersek
2019-09-13 21:00 ` Sean
2019-09-16 11:06 ` Laszlo Ersek
2019-09-19 21:45 ` Michael D Kinney
2019-09-19 21:55 ` Michael D Kinney
2019-09-20 21:29 ` Sean
2019-09-23 17:44 ` Michael D Kinney
2019-09-24 14:05 ` Liming Gao
2019-08-30 8:43 ` Liming Gao
2019-08-30 12:58 ` [edk2-devel] " Laszlo Ersek
2019-09-03 3:39 ` [edk2-rfc] " Ni, Ray
2019-09-03 13:19 ` Laszlo Ersek
2019-09-03 16:41 ` Ni, Ray
2019-09-03 16:55 ` Laszlo Ersek
2019-09-03 17:09 ` Sean [this message]
2019-09-03 17:45 ` Laszlo Ersek
2019-09-19 21:13 ` Michael D Kinney
2019-09-04 23:56 ` rebecca
2019-09-19 17:53 ` Michael D Kinney
2019-08-31 20:31 ` [edk2-rfc] " rebecca
2019-09-17 3:46 ` [edk2-devel] " rebecca
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=DM5PR21MB0842ED9F69EA51BBC71CAA46E1B90@DM5PR21MB0842.namprd21.prod.outlook.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