Epicery × Mergify

How Epicery uses Mergify to change the way they work, normalizing and automating their coding process.

Summary

Challenges

  • Keeping pull requests up to date while limiting CI costs.
  • Efficient management of conflicting pull requests.
  • Automate dependencies management.

Solution

  • Rebase pull requests automatically, reducing CI costs.
  • Notify pull request author on conflict and hint them for improvements.
  • Leverage Mergify to automate their onboarding.

Results

  • Save 2 days per month for each developer to focus on other projects.
  • Reduce spending on CI runtime.
  • New engineers are autonomous in a shorter delay.

Who's Epicery

Epicery is a marketplace that connects consumers and independent proximity shops to order fresh products and get them delivered to their homes. Epicery removes the SEO and logistics pains from retailers by taking care of the whole process, from publishing to distribution. The company was created in 2016 in France, and is now a part of La Poste group. The software engineering team counts ten developers and growing.

What Was It Like Before Mergify

Epicery tried to keep their pull request up to date with their base branch by constantly rebasing them. This would take a lot of time, even when automated with a script, and would continuously triggers their CI, continuously increasing cost.

The team also had no way to be notified when a pull request was conflicting. That meant the author would be misled thinking its pull request was mergeable, while it was not and would be ignored by reviewers.

Leveraging Mergify, Epicery engineers were able to limit their pull request rebase usage to a bare minimum, saving a lot of CI time. They also were able to build a custom workflow that notifies an author when its pull request needs to be manually updated because of conflicts.

Finally, Epicery engineering team was able to streamline their dependency management updates. They wrote rules that defines precisely how and when to merge them, automating part of their security process.

We tried Mergify for a couple of weeks. We adopted it before our trial period even ended.

Stéphane Crivisier - CTO at Epicery

Their way of using Mergify

Mergify changed the way they work:

  • They only rebase pull requests when they are ready to be merged.

  • They constantly keep their pre-prod branch up to date by using Mergify rebase action. As soon as new commits land in the development branch, the pre-prod branch is rebased and redeployed automatically with the latest version of the code.

  • They programmed an interactive onboarding and notification system, guiding (new) users on how to achieve certain tasks.

  • They automated label management by specifying how labels should be added to a pull request based on various criterias.

If I had a single piece of advice to give to a new Mergify user, it would be to start with normalization (e.g., processes, branch prefix, labels, etc). Then make onboarding interactive so there's no need for newcomers to learn how to, e.g., add labels.

Stéphane Crivisier - CTO at Epicery

Growing with Mergify

As the team at Epicery is constantly growing and adding new engineers to their team, having everything automated from the ground up makes their software development lifecycle more scalable.

They now continuously rationalize their workflow using Mergify, implementing new mechanisms as they expand, to become more efficient.

Overall, the team easily saves 2 days for each developer per month, skipping manual labor, and saving money from their CI costs.

Mergify is so powerful that you can automate almost everything. Don't waste time doing so, even if it's tempting to go down to the rabbit hole. Start with what matters most to you, save time, and build a more complex setup incrementally. 😉

Stéphane Crivisier - CTO at Epicery

Ready to get started?