Who is AgencyAnalytics

AgencyAnalytics is a premier marketing reporting platform that helps agencies scale by consolidating all their data into one place. The platform provides automated, 100% white-labeled dashboards and reports for SEO, PPC, and social media, allowing agencies to save time and strengthen their brand with professional, real-time client reporting.

The Problem

AgencyAnalytics had four repositories that were effectively one codebase. Every PR triggered a build that cloned all four repos, built everything, tested everything. GitHub Actions calling Google Cloud Build calling GitHub Actions.

"It was a black box," says Matt Schurenko, Senior Cloud Developer. "We had no analytics around it, no metrics, very poor visibility."

The team had tried requiring branches to stay up-to-date with main before merging. With 50 developers and a 35-minute test suite, engineers were constantly re-running CI every time someone else merged. So they removed the requirement and started shipping code that passed on branches but broke when combined with main.

Their workaround: a homegrown "queue" built from recursive Cloud Build job cancellation.

"We had Cloud Build jobs where each job would check if there was a pending job, and if so it would cancel itself recursively until only one remained. It was ridiculous."

Why Trunk

Matt found Trunk by Googling "merge queues." GitHub's native merge queue didn't support batching, which groups multiple compatible pull requests into a single test run and saves CI time. That was a dealbreaker because retesting each PR individually would have doubled CI costs.

"I found the documentation was more approachable, just easier to get going. It worked really well. We just decided to do it."

The Results

The team moved to a monorepo and implemented Trunk Merge Queue in August 2024. Today: 30-40 PRs per day, 25-30 minute average time to merge.

The immediate win was comprehensibility.

"Now if we need to make a change or test something out, it's very straightforward. Any developer can make a simple change, like updating an environment variable in their staging environment, and it just goes through Trunk and everything works. Before, it was just so many moving pieces."

The bigger win: catching failures before production.

"Every time I see a failure in Trunk, I look at it. There have been times where the test was correct, but the combination of changes caused a failure. It was caught before releasing instead of releasing and having a customer complain about it."

Developer Experience

Matt had a theory going in: even if a merge queue added time, it would feel faster with good visibility and notifications.

"Even if the merge queue adds a 30-minute delay, I don't think it's a factor. You're getting notified on Slack when things happen, so even if it's slower than direct merge, it feels faster. You just submit your PR, walk away, and everything works."

The team's favorite feature: submit-and-forget.

"Developers like how you can just tell Trunk to merge it, and as soon as it gets approved and passes all the checks, it just gets taken care of. That's convenient versus having to remember to merge your PR."

Support

"It's great to be able to ask a question—always responsive and transparent. There was one small issue with infrastructure and they let us know immediately, resolved it quickly. That transparency is much appreciated."

The Bottom Line

"It's hard to even remember what life was like before. Maintaining this is so much easier for us, and it's way more robust than what we had."

Would Matt recommend Trunk?

"Oh yeah, for sure. If you have a monorepo—or want to move to one—and you have dozens or hundreds of developers, these are the challenges you're going to face. How do you have one CI process manage all of that safely? It's complicated to do yourself. Trunk has basically solved it."

Try it yourself or
request a demo

Get started for free