We previously migrated to GitHub Rulesets as the new and preferred way to handle branch protection rules, but Mergify hasn't been updated to use rulesets, and we're also dealing with some deprecations around our actual Mergify configurations.
As GitHub Merge queue has matured enough to comply with most of our use cases, and it's already included in our actual GitHub Plan, we decided to start this migration path.
This is an initial step before completely removing Mergify, to keep the duality between the two to avoid downtime with queue management
Additionally to the tests that are triggered in a PR, we'll additionally re-run the Integration tests and CD Tests as these are the most relevant tests that must be confirmed when multiple PRs are being merged at the same time.
Tests
After merging this PR we should disable Mergify and activate GitHub Merge Queue, to confirm the behavior, as this only gets evaluated once the merge_group is available in the default branch.
Follow-up Work
Disable Mergify and turn on GitHub Merge Queue
We should evaluate this new behavior, the time it takes for Merge PRs to get fully evaluated, etc.
The Merge queue configurations should be as similar as the ones we have in the mergify.yml file
Documentation should be updated in the following PR, once everything has been confirmed and the removal of Mergify is finalized.
Motivation
We previously migrated to GitHub Rulesets as the new and preferred way to handle branch protection rules, but Mergify hasn't been updated to use rulesets, and we're also dealing with some deprecations around our actual Mergify configurations.
As GitHub Merge queue has matured enough to comply with most of our use cases, and it's already included in our actual GitHub Plan, we decided to start this migration path.
Specifications & References
Solution
Tests
merge_group
is available in the default branch.Follow-up Work
mergify.yml
filePR Author's Checklist
PR Reviewer's Checklist