<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 30, 2020 at 2:37 PM David Davis <<a href="mailto:daviddavis@redhat.com">daviddavis@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I am also concerned about the lack of human involvement and the potential for things to be merged accidentally. I definitely could see that happening.<div><br></div><div>I like the idea of having the PR processor only merge if a label (eg "Merge when Ready") is present. The question then is whether it should be applied automatically or not when a PR is opened. Maybe to start out with, it's not.</div><div><br></div><div>One other thing I thought of is that the PR processor could also check PR dependencies (ie "Required PRs") and see if they are all mergeable before merging any PR.<br clear="all"></div></div></blockquote><div><br></div><div>I haven't used the required-something in a while, and with the new backwards compatibility policy it should not be needed anymore (definitely not on the pulpcore side). I'd say if there is such a thing on the PR it should never be merged automatically.</div><div>Also we could say, that plugins should remove that tag, once the corresponding pulpcore change was merged.<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>David</div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 30, 2020 at 4:10 AM Matthias Dellweg <<a href="mailto:mdellweg@redhat.com" target="_blank">mdellweg@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>This just reminds me that Gitlab has a very nice "merge when CI passes button" to decouple the merge question from the reviews.</div><div>The only way i could see this happen in Github is via setting a label that instructs the PR processor to merge when (label is set) && (ci is green) && (other conditions).</div><div>Does not sound too user friendly, but labels can only be set by people with merge permissions anyway (so not a security concern).<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 29, 2020 at 8:04 PM Daniel Alley <<a href="mailto:dalley@redhat.com" target="_blank">dalley@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I have some doubts about the cost/benefit ratio of coding automation to merge PRs vs. simply changing the default option / being selective about which options are available.</div><div><br></div><div>I like the idea in general though.  A lot of projects do something like this.  I occasionally contributed to the Servo project (RIP) and they used automation to manage this.  The benefits were, their tests suites ran for nearly 2 hours on 3 different operating systems, so the feedback loop was quite slow, and automatically triggering the full test run every time a PR was changed would be a horrendous waste of resources at the scale they were running at.  So basically they would run a minimal CI within the PR, then require a manual review, and once approved it would trigger the full CI, and if that passed then it would automatically merge the PR hours later whenever it finished.</div><div><br></div><div>If our test suites keep getting longer and longer and take more than the 20-25 minutes they currently take, I can definitely see how the commit processor approach could add value.<br></div><div><br></div><div>On the other hand, it has the downside that, sometimes even once a commit is approved you might want to change something minor like rebasing the commits manually, and automation might start getting in the way of things like that.  Or, another example, sometimes there's only minor changes requested and it doesn't warrant a re-review. Currently what we do pretty often is just approve the PR, leave a note to change the wording here and there, and the author can just merge it whenever they're done with the minor changes.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 29, 2020 at 12:49 PM David Davis <<a href="mailto:daviddavis@redhat.com" target="_blank">daviddavis@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>Last week the discussion about how to merge PRs got me thinking about how we could potentially programmatically merge PRs. The openshift project on github does this[0] and I wondered if it would work for Pulp.</div><div><br></div><div>I think the main benefits would be (1) we'd be able to code how to best merge PRs and (2) we'd no longer see PRs sitting around that are ready to merge but not merged (granted this doesn't happen often). </div><div><br></div><div>I created a PoC against the PR processor that's quite simple (here are the relevant bits[1]). It's worth noting that we can still prevent PRs from being merged by setting them to drafts (I believe both the PR author or any repo owner do this) and the PR processor won't merge anything unless it's ready to be merged.</div><div><br></div><div>I myself am a bit conflicted about this so feedback would be appreciated. </div><div><br></div><div>[0] <a href="https://github.com/openshift" target="_blank">https://github.com/openshift</a></div><div>[1] <a href="https://github.com/pulp/pulp-ci/pull/737/files#diff-cbdf61d38083f599940c37eeb49cb0a9R116-R141" target="_blank">https://github.com/pulp/pulp-ci/pull/737/files#diff-cbdf61d38083f599940c37eeb49cb0a9R116-R141</a><br clear="all"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>David</div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>
_______________________________________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com" target="_blank">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/pulp-dev</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div></div>