When Mergify started to automate pull request merges, users expressed rapidly the need for having a way to keep their pull requests updated. We soon introduced the strict mode for the
merge action, offering pull request merge serialization. This was our first, very basic, merge queue.
Consequently, we have marked
strict mode from the
merge action as deprecated since June 2021.
We are planning to remove this option entirely on January 10th, 2022.
A brownout is planned for the whole day of December 6th, 2021 day. The option will be disabled on that date in order to warn every user that they need to change their configuration.
How to update your configuration
To update your configuration, you need to switch from the
merge action to the
Moving to the
queue action is straightforward. For example, a configuration like this:
pull_request_rules: - name: automatic merge conditions: - base=main - "#approved-reviews-by>=1" - "#changes-requested-reviews-by=0" - label!=work-in-progress - check-success=ci-one - check-success=ci-two actions: merge: method: merge strict: smart
queue_rules: - name: default conditions: # Conditions to get out of the queue (= merged) - check-success=ci-one - check-success=ci-two pull_request_rules: - name: automatic merge conditions: - base=main - "#approved-reviews-by>=1" - "#changes-requested-reviews-by=0" - label!=work-in-progress - check-success=ci-one - check-success=ci-two actions: queue: method: merge name: default
The notable difference is the new
queue_rules top-level entry which defines the conditions for a pull request to get merged (= to get out of the queue). The
pull_request_rules define the conditions to get queued.
Every option available in the
merge action is also present in the
Why This Change
In the legacy world of the
strict mode from the
merge action, these two sets of conditions were always the same and define in
pull_request_rules. Advanced users can now specify different conditions to get in the queue and to get merged. You could also use multiple queues.
strict mode is fully removed, the following options of the
merge action will not work anymore: