<div dir="ltr"><div dir="ltr"><div>After cherry picking a whole bunch today, I am very in favor of automation to do it.</div><div><br></div><div>I had hoped we could avoid writing/maintaining a service, but I looked around, and I don't see a hosted "cherry-pick bot" like dependabot for example. Can we set it up to run next to pulpbot? Or maybe we run it as a cron job on Travis (see below). Overall though big +1.<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 21, 2019 at 12:07 PM Mike DePaulo <<a href="mailto:mikedep333@redhat.com">mikedep333@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 dir="ltr"><div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Nov 21, 2019 at 9:01 AM 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">On our scrum with Katello yesterday, they raised an issue that since they are developing against our release branches, they need bug fixes to be cherry picked to release branches asap. Currently this is up to release leads, but we've seen this week that this is problematic as two of our release leads have been out/unavailable.<div><br></div><div>One suggestion is to automate the cherry picking process. I think we could develop a PR bot similar to the one Foretello uses[1] (see this PR[2] as an example). I think the basic workflow for this bot would be:</div><div><br></div><div>- If a PR is created with no issue attached or [noissue], it would loudly warn that no issue is attached</div><div>- If the PR has a redmine issue attached, it would:</div><div>  - Attach the PR to the redmine issue and set the status to POST[3]<br></div><div>  - Set the PR labels depending on the issue type. One of the labels would be 'Needs Cherrypick' if the issue type is a bug. This label can be removed before merge for things we don't want cherry picked.<br clear="all"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>- When any PR is merged with 'Needs Cherrypick', it could either automatically open a cherrypick PR or actually do the cherrypick (falling back to a PR if the merge fails due to conflicts).</div></div></div></div></div></div></div></div></div></div></blockquote></div></div></blockquote><div>I think it's good to put the cherry-pick back through the PR process so having it open a PR would be good so that the tests run. Maybe it should run daily though so we don't increase the travis load and we can test a group of cherry picks together? Note travis could maybe run this as a cron job and run it there instead?<br></div><div> <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 class="gmail_quote"><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><div dir="ltr"><div><br></div><div>Thoughts?</div><div><br></div><div>[0] <a href="https://pulpproject.org/2019/11/04/pulp-3-GA-update/#cherry-picking" target="_blank">https://pulpproject.org/2019/11/04/pulp-3-GA-update/#cherry-picking</a></div><div>[1] <a href="https://github.com/theforeman/prprocessor" target="_blank">https://github.com/theforeman/prprocessor</a></div><div>[2] <a href="https://github.com/Katello/katello/pull/8441" target="_blank">https://github.com/Katello/katello/pull/8441</a></div><div>[3] <a href="https://pulp.plan.io/issues/4365" target="_blank">https://pulp.plan.io/issues/4365</a></div><div><br></div><div>David<br></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
</blockquote></div><br clear="all"><div>+1<br></div><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-weight:bold;margin:0px;padding:0px;font-size:14px;text-transform:capitalize"><span>Mike</span> <span>DePaulo</span><span style="text-transform:uppercase;color:rgb(170,170,170);margin:0px"></span></p><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:12px;margin:0px 0px 4px;text-transform:capitalize">He / Him / His</p><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:12px;margin:0px;text-transform:capitalize"><span>Service Reliability Engineer, Pulp</span></p><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;margin:0px 0px 4px;font-size:12px"><a href="https://www.redhat.com/" style="color:rgb(0,136,206);margin:0px" target="_blank">Red Hat<span></span></a></p><div style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:medium;margin-bottom:4px"></div><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;margin:0px;font-size:12px"><span>IM: <span>mikedep333</span></span></p><p style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:12px;margin:0px"><span>GPG: 51745404</span></p><div style="color:rgb(0,0,0);font-family:RedHatText,sans-serif;font-size:medium;margin-top:12px"><table border="0"><tbody><tr><td width="100px"><a href="https://www.redhat.com/" target="_blank"><img src="https://marketing-outfit-prod-images.s3-us-west-2.amazonaws.com/f5445ae0c9ddafd5b2f1836854d7416a/Logo-RedHat-Email.png" width="90" height="auto"></a></td></tr></tbody></table></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></div>