
How a two-person team at Cockroach Labs cut merge queue escalations by about 90%
Cockroach Labs left Bors after it broke close to a database release. Trunk held up under a stress test with up to 40% flaky tests, then shipped the three features they asked for.
“Our merge queue escalations reduced by about 90%.
When Bors Stopped
In August 2025, the Bors cluster behind Cockroach Labs' merge queue stopped receiving GitHub events. Engineers could not merge, and a CockroachDB release was close.
“Since it's a database release, there are strict timelines,” says Rishabh Makhija, a member of technical staff on Cockroach's dev productivity team. “It's not like a cloud release that you can release at any time.”
Bors had been deprecated for several years and had fallen behind GitHub. “Sometimes GitHub will break, and it specifically did not retry posts. So our merge queue was stuck in between, and we had to fix it ourselves, do some patches with Bors and then roll it out,” Rishabh says.
The people doing the patching were two engineers on a six-person engineering productivity team, serving about 120 developers. When a PR was evicted from the queue, the escalation landed on them, and they kept the queue moving by hand.
Trunk Showed Up
Cockroach wanted three things from a replacement: the merge types GitHub supports, great flake protection, and fast support. Flake protection mattered because “we were dealing with a lot of flakiness at that time,” Rishabh says.
So the team stood up a simulated production environment. They injected flakiness at 10%, 20%, 30% and up to 40%, and ran each vendor's batching and parallelism settings through it. Then they pushed volume to about 150 PRs an hour, well above their peak during a release cycle.
Partway through, Trunk looked at Cockroach's numbers and suggested a configuration, and results improved. “We realized Trunk is actively invested in this,” Rishabh says.
Cockroach also evaluated Aviator, Graphite and Mergify. “We picked Trunk because we liked the team and that the roadmap is focused on improving CI reliability,” Rishabh says.
The real test came when Cockroach Labs needed three features not supported out of the box: merge commits, multiple queues per repo, and a Terraform provider. Trunk shipped the merge method setting in three days, multi-queue in four, and the provider after that. “We appreciate the push to get this released so quickly. One reason we went with Trunk is that you were going to make sure we have the best experience,” wrote Ken Liu, Senior Director of Engineering at Cockroach Labs.
From One Release Branch to 19 Queues
Cockroach rolled out gradually. Trunk went onto a release branch first, where load was lower and the release was further out. “We wanted developers to have a look and feel of how Trunk works,” Rishabh says.
Bors covered a single repo. Trunk now runs 19 merge queues. The team manages them in Terraform, so adding a queue is a code change. “It was so seamless to enable different repos,” Rishabh says.
According to Cockroach, median time in the queue fell from 55 minutes on Bors to about 38 on Trunk, before any CI optimizations.
The escalations are the clearest change. “We have stopped receiving those kinds of requests in our team by about 90%,” Rishabh estimates.
“We picked Trunk because we liked the team and that the roadmap is focused on improving CI reliability.









