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

Code Freeze via the Dashboard #792

Open
charliegroll opened this issue Mar 9, 2022 · 3 comments
Open

Code Freeze via the Dashboard #792

charliegroll opened this issue Mar 9, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@charliegroll
Copy link

It'd be great if we could pause the queue and halt all kodiak merges via the dashboard (ideally per repo, but per org would be a good start). If we have an ongoing incident and 5 merges queued up, it'd be great to not allow any to merge. On top of that, we would need to still be able to cut the line/deploy during an incident, but I assume prioritized merges would fit that bill.

@charliegroll charliegroll added the enhancement New feature or request label Mar 9, 2022
@chdsbd
Copy link
Owner

chdsbd commented Mar 9, 2022

Hey @charliegroll, this sounds like a nice enhancement!

Prioritized merges should help during an incident. When you add the priority label to a PR, if there is a PR being merged by Kodiak, Kodiak will continue to merge that PR and then pickup the prioritized PR afterwards. Basically Kodiak doesn't cancel the existing merge.

To halt all merges, you might be able to use this GitHub App: https://www.mergefreeze.com/
I haven't used it, so I can't really speak to how well it works, but I've seen other organizations using it.

I think implementing this feature in Kodiak is doable. We'd need to update the Dashboard (UI and API) to store some state about a merge freeze for a repository in the GitHub Bot's Redis instance. Then we could update the bot to check that Redis state when evaluating PRs.

So this feature would touch all parts of the app, but it isn't too complicated from my POV. It's actually pretty similar to how the paywall works at the moment.

@chdsbd
Copy link
Owner

chdsbd commented Mar 15, 2022

@charliegroll Do you think the mergefreeze app would work for your use case or do you think this would be better as a part of Kodiak?

@charliegroll
Copy link
Author

@chdsbd that looks like it would work for our use case, thanks for the tip!

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

No branches or pull requests

2 participants