Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require pull request reviews before merging to release branches #392

Closed
targos opened this issue Nov 20, 2018 · 9 comments
Closed

Require pull request reviews before merging to release branches #392

targos opened this issue Nov 20, 2018 · 9 comments

Comments

@targos
Copy link
Member

targos commented Nov 20, 2018

Yesterday, a commit was pushed by mistake to the release branch v11.x (nodejs/node#24389 (comment)).
To prevent this from happening again in the future, I would like to discuss the possibility of requiring pull request reviews before merging to release branches.
I think we don't need to require more than one review. To me, this seems like a good thing to do to prevent mistakes but also to have more collaborators involved in the release process. I always ping @nodejs/collaborators in release PRs but often get no comments or suggestions regarding the changelog.

Additionally, since all releasers must have a GPG key to sign the release tag, we could also require signed commits.

@MylesBorins
Copy link
Contributor

MylesBorins commented Nov 20, 2018 via email

@targos
Copy link
Member Author

targos commented Nov 20, 2018

Ah, right... I think it's possible to change the process to push first to the PR and then to the branch.

@richardlau
Copy link
Member

How does this proposal prevent nodejs/node#24389 (comment)? That PR targetted master and was reviewed and correctly landed on master but was then landed directly on v11.x.

Release branches are already protected, so it's only a small number of users that can push to those branches.

@targos
Copy link
Member Author

targos commented Nov 20, 2018

This prevents it because to land something on v11.x you would have to open a new pull request (cherry-picks are not allowed automatically). I agree that only a small number of users can push to those branches but the mistake could happen again and it's not ideal to have to unprotect all release branches to fix it.

I think requiring reviews is a good thing independently of this particular case: involve more collaborators (even if it's just one, it would be at least 2x more than now) and it's also easy to push to the wrong branch in the terminal while preparing a release.

@Fishrock123
Copy link
Contributor

Fishrock123 commented Nov 21, 2018

oh shit, I forgot to merge to staging rather than actual.

tells you how absurdly complex our release process is 🙄

@rvagg
Copy link
Member

rvagg commented Nov 21, 2018

Well, in practical terms, releasers own those branches, so you could just clean them up however you like. If someone accidentally lands something on a .x branch then you could just force push it out to clean it up. Since the number of people managing these branches is small I don't think that's going to mean much toe stepping. I wouldn't object if the person doing the next Current took the initiative to clean out anything mistakenly on v11.x, that just seems like a reasonable part of the process, no?

@MylesBorins
Copy link
Contributor

MylesBorins commented Nov 21, 2018 via email

@targos
Copy link
Member Author

targos commented Nov 21, 2018

And what about the other argument I made (more engagement in release PRs)?

@BridgeAR
Copy link
Member

We definitely need more engagement in release and backport PRs but after thinking about this again, it does seem to be a special situation in which it's just best to allow force-pushing right quick. The only problem about that is that not everyone is allowed to disable force pushing but I guess if that happens, it's fine to ask someone who has the permissions to do so.

Since there was no further discussion about this, I'll close this.

@targos it might be good to bring this topic again up at the next release meeting?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants