Back to All

Luo's builds run 3x faster on Avrea

Luo, a platform for building AI agents in plain language, cut their build time from 9m 18s to 3m5s with a one line migration.
Luo
A blue background with a green and white pattern.
Case studies hero image

Results

  • Full pipeline was 17m 21s on GitHub Actions and 7m 00s on Avrea 2vcpu and went down to 3m 59s with Avrea 4vcpu runners.
  • Migration: one line in the workflow file sped up things considerably, enabling cache in their setup even more
  • 10+ minute wait times to deploy a hotfix are gone

About Luo

Luo is an AI workspace that turns natural-language tasks into running systems. Tell it what you want done, such as updating the CRM, preparing a meeting brief, or drafting a status report. Luo plans the work, executes it across the tools your team already uses, including Slack, Gmail, Linear, HubSpot, Salesforce, and dozens more, and keeps adapting as your team’s work evolves. Instead of switching between apps to coordinate work, you tell Luo what needs to happen and it orchestrates the rest.

The team building Luo consists of senior engineers. CTO Jaakko Lukkari was previously CTO at Noice and spent years at Unity Technologies building large real-time systems. The team has taken on serious CI infrastructure work in previous roles, and has a clear sense of what it costs in engineering time.

The stack is a Go monorepo with Docker-based builds.

Before

Luo's CI ran on GitHub-hosted runners. With GitHub the build stage alone took 9 minutes 18 seconds. Most of the time was spent on both fetching and building Go modules.

Jaakko has dealt with CI problems before. One solution he was considering was to extract buildkit bind mounts and cache those using Github Action Cache but with the limitations in github cache sizes that would have been a no-go. More advanced means would have meant custom cache solution taking both time and maintenance effort from a small team.

That level of investment wasn't practical here. A small team with a focused product roadmap can't afford to lose an engineer to a platform side-quest.

The wait was the worst during production fixes, when a 10+ minute gap between spotting a bug and getting the fix live meant actually sweating whether users were hitting the issue.

After

Luo pointed an existing workflow at Avrea. To migrate, they just changed on line: runs-on: avrea-ubuntu-latest.

This allowed Luo to access Avrea's Go build cache (via GOCACHEPROG) and BuildKit layer caching. Both are standard capabilities on Avrea runners, available by default or configurable manually by setting a couple of environment variables.

The time for the total run went from 9m18s to 3m05s. The decrease in build times means that CI actually feels fast and the team doesn’t worry about prod fixes as much anymore. Instead of tuning CI, the team can focus on shipping product.

"Avrea significantly sped up our build times with very little configuration. Instead of spending days tuning CI by ourselves, we just turned on Avrea and got an immediate improvement in run times."

— Jaakko Lukkari, CTO, Luo