Prophesee × Mergify
How Mergify optimized Prophesee's development process while lightening the developers' mental load.
❌ Velocity Vs. Safety
Refrain from the confusing speed with haste. It is often complicated to conjugate speed and safety, and by aiming at one of the two, it is necessary to make concessions on the other. Teams wishing to deliver on a continuous basis must regularly correct errors that have fallen through. But there is now a solution that wants to combine safety and velocity.
❌ Mergeable Pull Requests Are Waiting for You
Many times, pull requests are merged when we think about it, and we are ready, but not when they are. This is a classic mistake, leading to further complications such as having to update a forgotten pull request and re-run all the necessary tests. This directly increases the merge latency.
❌ The Same Task, Again and Over Again
As explained above, manual management of pull requests can lead to errors and oversights. These have consequences like having to rebase the pull request and restart all the tests (which can be very long). This repetition of annoying actions could however be avoided.
❌ Merge Pull Requests One by One
The last problem with developer velocity is that only one pull request can be merged at a time. Testing PRs one after the other does not allow you to align your integration process with a team and a production that scale.
😭 Tons of engineers are confronted with these problems every day.
🦾 Using a merge queue solves them by automating most of the boring and repetitive tasks and 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.
Your Pull Request Management is then automated and leaner than ever, leading to a better merge frequency, real continuous integration, and delivery. You create a pull request, if it is premium quality one, it will be shipped within an hour.
✅ No more manual updates or rebases.
✅ No more broken production: focus on developing.
✅ No more waiting Pull Requests: always merged when ready to.
✅ Less CI and Merge latency: the engineers see their work integrated and shipped.
Sounds like a dream, right? It's not, just a premium Merge Queue.
Speculative checks
With our Speculative Checks feature, you are able to update and test multiple pull requests in parallel on a speculative basis.
For example, you would run a CI job on PR#1, a job on PR#1 + PR#2, a job on PR#2 + PR#3, and a final job on PR#1 + PR#3.
Thus you test 3 pull requests at the same time and together in order to ensure their mergeability and compatibility.
Batch
With our exclusive feature that allows you to create batches, you can update, test and merge a batch of pull requests in one go.
For example, if you set your batch size to 6, Mergify will build a new big pull request composed of the first 6 pull requests in the queue.
This new composite pull request will be updated, and a single CI job will be run on all the commits of the 6 pull requests. If there are no conflicts or errors, all 6 pull requests will be merged at once.
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.