Back Market × Mergify
Back Market uses Mergify to optimize the release process and improve their engineers' lives.
Outdated pull requests are at the root of many issues: rebase, code conflicts, broken main, and constant reverts… And developers' frustration.
Avoid them by using a merge queue: queue, rebase, and merge each PR automatically and sequentially.
Bye-bye, broken main, manual reverts, and rebases. Embrace velocity and make developers happy!
Open-source Node.js & Rust projects, the sporty social network Strava, the e-commerce company Shopify, Uber, etc.. Their engineering teams all rely on a merge queue.
To better understand what is a Merge Queue and its usefulness, let's imagine a GitHub repository in the following situation: a pull request is created, it passes the CI, and it is approved by reviewers. All the checks are green, just like the merge button.
1️⃣ Between the moment when all the checks are green and when you press the merge button, another one has just been merged and a new commit appears on the main. Not aware of that, you still see your PR as valid so you slap the merge button.
2️⃣ Boom, Code Conflict: you just broke the main branch! The outdated pull request you just merged introduces regression or breakages in the production system.
😭 Tons of engineers are confronted with this problem every day.
🦾 Using a merge queue solves that problem by updating any pull request that is not up-to-date with its base branch - thanks to an automatic rebase - before it is merged. The update forces the CI to retest the pull request with the new code from its base branch, catching any potential regression.
Sometimes, a video says more than a thousand words. In this video.
Fabien will present you our Merge Queue solution thanks to a screen recording of the tool.