Avrea is the fastest GitHub Actions runner in RunsOn's benchmark

In RunsOn's four-vCPU x64 benchmark, Avrea completed the Rust, TypeScript and Docker workloads in 6m58s. GitHub took 18m18s, so Avrea was 163% faster across the three builds.
A lot of work went into those six minutes and fifty-eight seconds, and we're proud of our team that made it happen.
Avrea runs your GitHub Actions jobs in virtual machines on dedicated hardware. Package and build caches sit alongside the runners, and your workflows stay in GitHub Actions.
The full benchmark results
RunsOn tests three public projects with build caching turned off: a PostHog Docker build, opencode's TypeScript checks and spotify-player's Rust tests. The ranking adds the median build times for all three.
The table shows each provider's fastest complete configuration in the four-vCPU x64 category.
RunsOn publishes the methodology, benchmark code and job logs, so you can inspect how each workload was run.
RunsOn estimates a total cost of $0.0625 on Avrea and $0.2612 on GitHub for the three builds. Avrea is 76% cheaper in this test. Avrea charges $0.008 a minute for this runner and GitHub $0.012.
Eight minutes off a production Docker build
The PostHog Docker workload took 4m52s on Avrea and 12m53s on GitHub.
The job builds PostHog's frontend and plugin server, installs Python dependencies and assembles the production image. RunsOn uses a fixed revision of PostHog's Dockerfile and disables the Docker build cache, so every layer is built on each run.
Most of the difference came from building the image: 4m25s on Avrea and 12m22s on GitHub. The full workload also includes fetching the source and setting up Buildx. The Avrea and GitHub profiles publish the timings for each phase.
Faster TypeScript and Rust builds
The TypeScript workload runs against opencode. It clones the repository, installs dependencies with Bun and runs the monorepo's typechecks.
Avrea ran the workload 2.8 times as fast as GitHub, 40 seconds against 1m52s.
Turborepo's local and remote task caches are switched off, so each package is typechecked on every run. Concurrency is set to four for all providers.
For Rust, RunsOn uses spotify-player, a terminal Spotify client. The job installs system dependencies and the Rust toolchain, checks formatting, runs tests and runs Clippy. The benchmark uses no build cache, so every crate is compiled from scratch.
Avrea finished the job in 1m26s and GitHub in 3m33s.
Your own builds can use the caches
For a Turborepo project, the runner environment is already configured for the remote cache, so tasks whose inputs haven't changed are restored instead of run again.
Rust, C and C++ builds can use sccache. The backend is already configured on Avrea runners: install sccache and set RUSTC_WRAPPER: sccache, and crates that haven't changed come from the cache instead of being compiled again.
Dependency downloads use a separate cache. Avrea's colocated package cache supports npm, pnpm, Yarn Classic and Bun. Those package managers are preconfigured on Avrea runners to fetch previously cached packages from storage beside the machines running your jobs.
Run your next build on Avrea
Sign up for Avrea, install the GitHub App for your repository, and make a copy of a build or test workflow. Then change its runner label to the Avrea runner size that fits the workflow. The label for the four-vCPU x64 runner tested here is:
Compare both workflows on the same commit, then run the Avrea workflow again to see whether caching shortens the build. The free tier covers 3,000 minutes a month on the two-vCPU runner.





