There are three types of code freezes:
- Scheduled - freeze pull requests during a specific time window (ex. Dec. 20 - Jan 5)
- Recurring - freeze pull requests during a recurring time window (ex. every Friday)
- Manual - freeze pull requests on-demand
When a code freeze is in effect, all matching PRs are set to a "frozen" state (a "pending" commit status in GitHub). Review requests will not be sent out, and other automation like auto-nudge and step notifications will be disabled. The PR will remain in it's last known workflow step until the freeze is removed or expires.
Like workflows, code freezes can be configured to match specific PRs. This is done by defining a set of conditions that must be met for a PR to be frozen.
Bypassing a code freeze
A frozen PR can be bypassed by someone with the appropriate permissions. This is the only way to merge a frozen PR, unless you use condition that can be modified in GitHub, like the presence of a specific label.