Releasing outside business hours: a checklist for small teams

Many teams release when fewer people are online, because a bad release then costs less. The trade-off is that fewer people are awake to notice and fix a problem. A little preparation makes the quiet hours safe.

Before the release

During the release

Automate the boring parts

The steps that cause missed releases are the manual ones: remembering to merge, watching a pipeline, opening a revert pull request half asleep. Scheduling, deploy watching and revert are good candidates for automation. Keep the decision to release with a person; give the timing and the watching to a tool.

What to leave for the morning

A simple rule

If you would not be comfortable being woken up for the rollback, do not release at that hour.

Where Merge Scheduler fits

Merge Scheduler handles the timing and the watching: it merges the exact commit you approved at the time you choose, follows the GitHub Actions deploy, emails the result, and on paid plans reverts a failed deploy and tells you which step failed.

Related: How to schedule a GitHub pull request merge (4 ways) · How to release a backend before the frontend (and roll both back)