<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56673>56673</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Define a policy for acceptance before merge
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          rengolin
      </td>
    </tr>
</table>

<pre>
    We currently need approvals to merge, either official flags in Phab or the text "LGTM" on some comment. GH allows us to go one step further and define what kind of approval we get before allowing someone to press the "merge" button.

We also have a less defined policy to when multiple approvals are necessary, or how long to wait for new comments before merging after the first approval.

Given that our developers all have GH accounts and clicking on "accept" is easier than writing "LGTM", I think it's trivial to define that someone must approve the commit before merging (automation-wise), but there are questions as to who or how many need to approve before merge.

Things to consider:
* Can someone approve their own commits? What if someone says "LGTM with nits" and the nits are resolved but the reviewer never replies / presses the button?
* Can we set different automation rules for different types of reviews? Examples:
  * Must approve all patches in a stacked PR to merge each
  * Must wait at least N days from posting / M days from first approval to allow the merge button
  * Must have at least K approvals before merge on core/docs/policy changes
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxdU9uO2zYQ_Rr5ZRDDK_n6oIc0ibdFu0VQBNhnmhpJzFKiSlJW_Pc9o4vXW8C2LF7mXObMxRW3_JVJ995zG-2NWuaCVNd5d1U2UHTUsK84Sb8Qm1izJ1eWRhtlqbSqCmRa-l6rCzlP2KbIvyIlafrX848XPMi1FFwDBNc0QFjT8--krHVDoH4sXzmcYQqROyp7P0KotqCCS4P1oVaR3gwWXHnnRQNTxZEuXDrPUz3TViOSFEPZznMIIyOwmCWkdOljdO062XzG51VuBke1uuIfWbkwoRbUOWv0TQoNNbfU9DaazvKDMwrALWtcUv4m9sCA2g1kHYjIPWUigR4ODYv6sDAWQkJYlZEn30rjQ7yXnxk-myvAo1jgeg9yV7auYx9E8sRb7NTa9VJcbNPg_SalYTwUY4-7KNJNIFbBjHCqpcGbKMfeWyUa_sCmad_I4MoB9nlzlU5DztyOkctic9PfKfMoQmSa-H-RSXpUfXSNisa1nwYT0IqToKEbck06iO-_PQc5AR1hMt4tnjaqnZOJ9QXwAYVnv36AfDVe1qhjCvZJJutJ-pm-qPZO_IGzQaCHdmYekuxMryLRlPfDQd3CYhMNmAFq5SQsFb9FtryPEpA5Z6-gOSvDwtXwwBKCK349d9awVDtPAeUpolMsAf7AFREPiHhhypJlNundQ_I9wjqG63073jqsYUgmzFHKt1-qQWrD5AKR1H55bJrEqFNR1zwOssIYKv0GAd__uY8-YqPrj9fHbMMli0RF-psKsaj0rsHchDlWZ3p5WP8Y77GNMrSj-gll9uADzjSZC86fD9P32HyJusYbMAun0ZnzPL0aQa84rIo8K07ZSa2iiZbzr1OU1TLk4uM0J6rVH3O16r3N6xi70cL0jE-FBPSXNQKDF2uvy-MTqP1kjcE5mxCQZfzZ7feHbFXnm4Mutnt1Oantsdymx1O2KcrT4chFdnribLuy6sI25Mnut2T3dWXydJOmm0OaPqW7LN2tn1hnW33Yb7enY8F7nWw33Chj1wK8dr5a-XzkcOmrgE1rQgzvmyoEU2F8lvpIUu18jthUcKBdjXzzkex_Aegb6A">