How We Do It

We explain how we work at Mergify, design, and develop our products.

Julien Danjou

Freezing your GitHub repository merges

Freezing your GitHub repository could mean a lot of things. In that case, I'm not talking about putting it on ice or sending it to GitHub's Artic Code Vault. No, that's not the point here. As controlling the merge flow becomes increasingly important, many

Fabien Martinet

4 Reflexions on the design of the Merge Queue Freeze

Merge queues are at the center of the value offered by Mergify. The freeze feature we announced [https://blog.mergify.com/announcing-merge-queue-freezes/] a few days ago gives our merge queues a whole new range of possible use cases. You can now make your queues follow your product development life cycle.

Mehdi Abaakouk

Handling unexpected third party API changes

As you may guess, Mergify relies a lot on third-party APIs like the Stripe API [https://stripe.com/docs/api] or the GitHub API [https://docs.github.com/en/rest] and their behavior. Like any third-party service, we need to deal with many things to ensure our integration never breaks.

Julien Danjou

Our 10 Heroku Tips & Tricks

Since its inception, the Mergify [https://mergify.com] engineering team decided to focus on its product and not spend time building infrastructure. It made a lot of sense as we started as a small team of two engineers with low resources and that the first version of Mergify was an

Mehdi Abaakouk

Speculative Checks and Batch: Under the Hood

If this title does not ring a bell, you might need to read first what a merge queue is, what problem speculative checks solve, and how mixing speculative checks and batching can save you a lot of time. Go ahead. We'll wait. Now that you have an idea

Mehdi Abaakouk

Behind the scene of time-based conditions

Last month, we announced [https://blog.mergify.com/announcing-time-based-conditions/] a new set of conditions for Mergify rules based on time. You can now use a time and date and compare pull request attributes to dates and times. We had the idea for this feature since the beginning of Mergify, but

Julien Danjou

(Un)signed commits: how we found a (non) security bug in GitHub

When you build an entire software around someone else API, you tend to know everything about it. We made Mergify [https://mergify.io] on top of GitHub API, and it's hard to describe how well we understand its API. From its fabulous and beloved features to its most

Julien Danjou

Why Deciding Fast Is a Winning Strategy

If you're a video gamer and think you're not up to the task of launching a startup, think twice. At Mergify, we've been heavy video game players for the last couple of decades, and we think differently. Here's one thing we learned

Guillaume Ojardias

A React Crisp Component

‌Some time ago, Mergify decided to move his chat widget from Drift [https://drift.com/] to Crisp [https://crisp.chat]. What's this, you say? You know, this is the little button at the bottom right of your screen where you can engage with our fantastic support team! Integration

Julien Danjou

Why we switched from Notion to Linear

A few months ago, we blogged about how we handle our roadmap [https://blog.mergify.io/how-we-handle-our-roadmap-for-mergify/] at Mergify. The tool we mentioned using was Notion [https://notion.so], an all-in-one tool that can adapt to many usage. Notion is a useful tool, and we were able to adapt it

Mehdi Abaakouk

Handling 300k GitHub events per day

As Mergify is a pull request automation tool, to execute actions on your pull requests, it needs to be aware of any change done on them. To get notified of any mutation, Mergify relies on the GitHub App webhook mechanism. That means that on any modification done to a pull

Julien Danjou

How we handle our roadmap for Mergify

Whatever you’re building — a company, a product, or a house — a time comes where you need planning. Pushing random buttons to move forward does not work anymore. You need to take a step back to think about what the optimal move to do next. This arrangement of your future