Hello! My first post. Sorry if I make mistakes.
I'm working on a project with three different teams, who have different sets of stakeholders. We also have continuous deployment set up. If something is merged to our develop or master branches, stuff starts moving :)
This is great, except when it's not:
- when a team is giving a demo to stakeholders or product owners using the live environment.
- when colleagues are working out issues with our OTAP street and want to prevent new code getting added
- during the summer holiday, when there's a merge freeze throughout the whole company (to avoid messing up business critical features 😱 )
I think three or four times a week I see someone in our Slack ask for a "merge freeze" and I was wondering if this couldn't go much easier by adding a permission in Github that enables people who have the required rights to disable merges into the branch that has been marked as 'frozen', possibly (if we're talking non-MVP here ;) ) with a reason or a time where the branch will unfreeze. I think this will prevent a lot of issues that need not happen in our teams, and I can imagine it's a use case for other companies too.
You can use GitHub's branch protections for this. There's no direct "freeze!" setting, but you could be creative with required checks (for example: a check that checks some external resource that indicates whether a freeze is happening).
Alternatively, maybe you could build this pause function into your CD setup, which seems a more natural place to put this to me.
Noted, that might be an option. I'm mostly asking for the team I'm in and which I'm leaving in a weeks' time, so I will keep this thread open just to help it get seen. I do think the functionality could be a lot more straight forward than the way you suggest :)
Thanks for your input!
I've created a Github App specifically for this problem: https://www.mergefreeze.com. Would love to hear your thoughts on it!