Tier editor approvals required for ambiguous
PRs.
#53
Comments
If we move forward with this, the same change should be made to edits to EIP-1. Currently it is just a flat 2-editor approval required. |
Suggested change: If a PR is only ambiguous according to the bot. |
Proposed General idea: Try to implement MicahZoltu solution. Implementation: To Calculate: Created_at / updated_at days number Once the two values have been calculated, Micah’s solution would be implemented, and making possible: for (according to the Bot) ambiguous-PR the “auto-merge”. Note: |
Even simpler solution: |
I very much prefer the simpler solution for EIP-1. It's not just any EIP, and the editors themselves are the authors. For the rest, all of it just seems way too complicated to me, both for the coding of the bot, and for humans to understand the rules. I'd be happy to just leave edge cases like this to wait for a manual merge. |
If this is the consensus could we close this issue ? |
+1 on the simpler solution. I might suggest expanding this to any "Living" EIP, and not just EIP-1. |
Maybe just have |
This action is included in Issue 58. If this is the only pending action could we close this issue and work on Issue 58 ? |
We specifically don't want the bot auto-merging EIP-1 changes with a single editor proposing them or approving them, so we shouldn't just make editors authors of EIP-1 and then lean on existing functionality. |
I think that the key for editors/authors approval is PR reviewers, if reviewers intersected editors is greater than X then execute. It has received 4 editor approvals and no editor rejections. |
EIP-1 should change when the editors have come to consensus that it should be. There is no formula for measuring that. |
may be EIP-BOT can change EIP-1 if reviewers == editors (all editors have approved it and non has rejected it) and PR has been open for X days (30?) but I agree this is an specific call for the editors. another idea, EIP-BOT will auto merge (using Micah's formula) everything except EIP-1, actually we can set first check for the EIP-BOT: if EIP-1 Exit |
What is your recommendation for codifying that in the bot? Do you think the bot should just never automerge EIP-1 changes and they should always be manually merged by an admin? |
Exactly. |
test for eip 1 (signature) at the beginning of context.payload?.pull_request?.body: eip1-signatureRegEx = if eip1-signatureRegEx.test(context.payload?.pull_request?.body) {console.log( somethig like this. |
While I'm not opposed to this on principal, I would like a solution to the following problem (which is what this change was trying to solve): The current set of editors (and historic editors) don't reliably comment on all process change proposals, nor do they all show up regularly to meetings. Sometimes we'll have 1 editor present for very extended periods (many months to a year). Sometimes we'll have a couple editors present for extended periods (months on end). Sometimes we'll have many editors present/available at the same time. When we are in a situation where many editors are present/participating, I would like to wait on sign off from everyone. When we are in a situation where only one or two editors are present, I would still like to be able to make process changes. The problem with no automation is that it is very easy to file an issue suggesting a change, get no feedback on it for an extended period, and then it gets forgotten. Often the same issue will be suggested again and we have duplicates. What if the bot would just monitor for the above number of approvals, but instead of automerging it just comments on the issue to draw attention to it once the threshold is passed? |
@JEAlfonsoP No need for regex. Just look at the filepath of the touched file and if it is eip-1 then follow whatever rules we decide on. |
Ok, I just feel that BOT has more control Regex.Test eip1 signature , but I agree filepath is another valid signature (it will just need a call to outside:EIP repo). EIP-Bot can follows any rule inside its scope. |
@MicahZoltu It's on the person wanting a change to discuss it online and get it on the agenda for meetings. At some point those not participating in the discussions or meetings are in "silence indicates consent" mode, or perhaps in "do you really want be an editor" mode. I don't see that a bot can help much, but if someone wants to do as you suggest I don't object. |
const eip1_html_url = @MicahZoltu If agree, I can PR this as the very first EIP-BOT check |
I think disabling automerge on EIP-1 is a good first step. I think we all agree at least that it shouldn't be automerging with a single editor approval. |
How about making the author of a PR not an approver if it modifies EIP-1? |
That functionally just gets us to 2 editor auto-merge since changes to EIP-1 are largely done by editors, which isn't enough in most cases IMO. |
I was rethinking it and looking into the code. There is another possible solution: This runs in main, testFile(file): if (editorApprovals.length < EIP1_REQUIRED_EDITOR_APPROVALS) { actually, EIP1_REQUIRED_EDITOR_APPROVALS = 2; option 1: forbid EIP-BOT automerge EIP 1 (strict rule) option 2: set a higher value for EIP1_REQUIRED_EDITOR_APPROVALS. |
Ah, that seems easy then. Just submit a PR that sets |
Done. |
@JEAlfonsoP Can you link to the PR that this is done in? |
|
There should be a Pull Request for that specific change, isolated from the rest of the changes. I recommend reading up on Git branching, as it appears all of your changes are happening in a single branch which is making it difficult to review them in isolation. |
I will delete the FORK and will create a new one with a Branch and PR for each Issue. |
as requested: |
There will also need to be a PR to update the bot used by the EIP repository to the latest version. I don't know how to do that, maybe @alita-moore does? |
I know how to, so I can make that PR. |
Fixed in #85 |
Replaces the solution proposed in #46, lower priority but a superior solution:
If a PR is
ambiguous
according to the bot and it fulfills one of the following conditions, then it should auto-merge:The goal here is to make it so editors failing to show up doesn't prevent us from making changes to things like EIP-1, the EIP template, Jekyll pages, etc. but at the same time it is preferred that we get editor consensus before making changes to such things.
cc @gcolvin @axic @lightclient @SamWilsn
The text was updated successfully, but these errors were encountered: