Introducing Merge Queue Academy
A free resource to learn everything about merge queues:
• How they prevent broken main branches
• Two-step CI, batching, speculative checks
• When you need one (quiz included)
merge-queue.academy
New on the blog: "Claude Didn't Kill Craftsmanship"
On why AI shifts engineering craft from code output to product thinking — and why that's actually more like craftsmanship than before.
mergify.com/blog/claude-di…
New on the blog: How a LATERAL JOIN saved our API from production timeouts.
TL;DR: A naive subquery scanned 660K rows to return 50.
Switching to LATERAL JOIN: 1000x faster.
Full breakdown with EXPLAIN ANALYZE 👇
mergify.com/blog/on-latera…
New case study! ⚡️
@cerebras, builders of the world’s fastest AI systems, use Mergify to keep a massive monorepo stable despite CI jobs running hours. Batching, two-step CI, and automation = predictable delivery under extreme load. Read how they do it: mergify.com/customers/cere…
We just shipped Monorepo CI for GitHub Actions: detect which parts of the repo a PR touches, run only the jobs that matter, and expose a single CI gate for branch protection & merge queues.
Smarter CI, lower costs.
mergify.com/blog/monorepo-…
How do you ship risky code without crossing your fingers?
We ran old and new logic side by side in production: no impact, just data.
This "shadow shipping" pattern turned feature-flag anxiety into real rollout confidence.
👉 mergify.com/blog/shadow-sh…
Why does PostgreSQL ignore your index and scan the whole table anyway? 🤔
At Mergify we hit this on tables with 100M+ rows. Turns out it’s not a bug: it’s planning math.
See how we nudged the planner to do the “right” thing instead of fighting it:
👉 mergify.com/blog/why-postg…
We built a "self-healing" system that fixes deprecated configs by opening PRs automatically.
It worked like magic, until it didn’t.
Here’s the story of automation that got too smart for its own good:
👉 mergify.com/blog/the-magic…
TypeScript doesn't actually run, but your bundler might think it does.
Our latest post explains why marking your type imports with 'import type' (and using 'verbatimModuleSyntax') makes your builds faster and cleaner.
Read more 👉 mergify.com/blog/typescrip…
AI can read your code — but not your mind.
Our new post explores why documentation still matters in the age of AI, and how it’s becoming the bridge between human intent and machine understanding.
mergify.com/blog/should-we…
WARNING is the junk drawer of logging — full of “just in case” noise that hides real errors.
We explain why it’s time to delete it (and what to do instead).
🧠 New on the Mergify Engineering Blog 👇
mergify.com/blog/why-warni…
Most code reviews fail because no one knows why the code was written that way.
This week, Alexandre shows how AI comments gave both Copilot (and humans) the missing context to make reviews smarter.
👉 mergify.com/blog/ai-won-t-…
Floating versions feel convenient.
Until they break your CI. Or worse: ship compromised code.
In our latest post, Mehdi explains why you should stop trusting :latest — and how to pin everything for safety & reproducibility.
mergify.com/blog/friends-d…
Permissions drift = data leaks.
RLS flips the script by enforcing permissions in the database itself.
Is it safer? Yes.
Is it simpler? Not always.
📝 New blog: Application vs. Database: Where Should Permissions Live?
mergify.com/blog/applicati…
🚦 Merge queues didn’t start with GitHub.
From Mozilla’s bors to Palantir's Bulldozer, teams kept reinventing the wheel to keep main green.
We wrote the full history — and why it matters for modern CI/CD.
mergify.com/blog/the-origi…