Luo's builds run 4.36x faster on Avrea


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 the platform teams use to build AI agents that connect to their existing tools and automate workflows in plain language. Instead of scripting orchestration by hand, engineers describe the work and Luo handles the integration.
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. The full pipeline took 17 minutes 21 seconds, with the build stage alone at 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 a 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. One line: runs-on: avrea-ubuntu-latest. The Avrea pipeline ran alongside the GitHub-hosted one for direct comparison.
First run: 7m 00s total compared to previous 17m 21s.
Luo then turned on Avrea's Go build cache (via GOCACHEPROG) and BuildKit layer caching. Both are standard capabilities on Avrea runners, available by setting a couple of environment variables. After that change the run time dropped again significantly.
The total run went from 17m 21s to 7m 00s on the first run, and when they switched to Avrea's 4vcpu runners, it went down to 3m 59s. While not directly comparable with GitHub's 2vcpu runners, with the improvement in run times and cheaper runners in general, using bigger runners on Avrea is cheaper than using GitHub standard runners.


