Alternatives
GitHub-hosted runner alternatives
You can keep GitHub Actions and change only the machine your jobs run on. The options differ on price, platforms, caching, where the runner lives, and what it records about each build.
We build CRACI, so weigh that in; we describe every option from its own documentation and say when another tool fits better.
Why teams look for alternatives
GitHub-hosted runners are convenient. Each job gets a fresh virtual machine, there is nothing to operate, Linux, Windows and macOS are all available, and plans include 2,000 to 50,000 minutes a month. Standard runners are free in public repositories. For many teams that is enough.
Teams look elsewhere when their situation changes:
- Volume. As of September 2026, GitHub lists a standard 2-core Linux x64 runner at $0.006 per minute and rounds each job up to the whole minute. Many short jobs make that rounding add up.
- Capacity and caching. Builds outgrow the default shape, or spend their time restoring caches.
- Network control. You want to limit what a build can reach, not only what it runs.
- Evidence. A customer or regulation asks what went into a release, and a general-purpose runner does not record that.
- Location. Some jobs must run inside your own network or cloud account.
What to look for
- Price per vCPU-minute, memory per vCPU, and how usage is rounded.
- Operating systems and architectures you need, including ARM64.
- Dependency and Docker layer caching.
- Egress control, and whether it is a policy on the job or network plumbing you maintain.
- Build evidence: SBOMs, provenance and a record of what each job fetched.
- Where runners live, and the compliance reports your procurement asks for.
Where a vendor below publishes a speed claim, we quote it as that vendor's figure. Your own pipeline is the only fair benchmark.
The options
CRACI (our product)
CRACI is a GitHub Actions-compatible runner built around supply chain security. Install the CRACI GitHub App and set
runs-on: craci. Billing is €0.002 per vCPU-minute, metered per second, with ARM64 at the same rate
(ARM64 capacity is limited). Sizes run from 1 to 32 compute units of 1 vCPU and 3 GB of RAM. Each job produces an
SBOM of what it fetched, with a completeness state, runs under an egress policy that fails closed, and produces
signed provenance.
Best for: Linux builds of software you ship, where you need to show what went into each release.
Consider if: evidence and egress control matter as much as cost. CRACI is Linux only and has no free tier. CRACI runs builds about twice as fast as GitHub-hosted runners, thanks to faster hardware, shorter queue times and caching.
CRACI vs GitHub-hosted runners
Blacksmith
Blacksmith runs GitHub Actions jobs in Firecracker microVMs, with Ubuntu on x64 and ARM from 2 to 32 vCPU, Windows in public beta, and macOS on Apple M4. It says its runners are twice as fast as GitHub-hosted runners. A colocated cache works with the standard cache actions, and sticky disks provide Docker layer caching at $0.50 per GB per month. As of September 2026, 2 vCPU x64 costs $0.004 per minute and ARM $0.0025, with 3,000 free minutes a month.
Best for: faster, cheaper Actions with Docker caching and SSH debugging.
Consider if: speed and cost are the goal and you need a SOC 2 Type 2 vendor.
Depot
Depot offers Linux runners from 2 to 64 vCPUs, Windows, and macOS on the Startup plan and above, wired into a distributed cache. It describes its runners as "up to 3x faster than a GitHub-hosted runner." Its remote Docker build service keeps a persistent layer cache, Linux runners support egress filtering, and on the Business plan runners can live in your own AWS account. As of September 2026, 2 vCPU costs $0.006 per minute beyond plan minutes, tracked per second.
Best for: teams whose CI time is dominated by Docker image builds.
Consider if: you want remote build caching for Bazel, Gradle or Turborepo too.
Namespace
Namespace runs Linux, Windows and macOS runners on hardware it operates itself, selected through runner profiles. Cache volumes keep data on local storage across runs. Its egress policies run in block mode or in advisory mode, which records decisions without blocking so you can build an allowlist from real traffic. As of September 2026, a 2 vCPU, 4 GB Linux runner costs $0.002 per minute in plan and $0.003 in overage.
Best for: Linux, Windows and macOS runners from one vendor, with cache volumes.
Consider if: you want to trial an egress policy before enforcing it.
WarpBuild
WarpBuild offers Linux runners on x86-64 and arm64 up to 32 vCPUs, Windows Server, and macOS on Apple M4 Pro, with container-layer caching and snapshot runners. Its bring-your-own-cloud option runs the same runners in your AWS, GCP or Azure account at $0.002 per minute plus your cloud bill. Hosted 2 vCPU x86-64 costs $0.004 per minute (as of September 2026). WarpBuild advertises builds two to ten times faster.
Best for: managed runners inside your own cloud account.
Consider if: you need GitHub Enterprise Server support or a 99.9% uptime SLA.
Self-hosted runners with Actions Runner Controller
Actions Runner Controller (ARC) is "a Kubernetes operator that orchestrates and scales self-hosted runners for GitHub Actions." Runner scale sets grow and shrink with the number of workflows running, and runners can be ephemeral containers. GitHub does not charge per minute for self-hosted usage as of September 2026, but you are responsible for the operating system and software, and GitHub warns that self-hosted runners should almost never be used for public repositories.
Best for: jobs that must run in your network or on your hardware.
Consider if: you already run Kubernetes and have the time to harden and maintain it.
Managed vs self-hosted runners
Add-on: StepSecurity Harden-Runner
If you want to keep GitHub-hosted runners, Harden-Runner adds security to them instead of replacing them. It is an agent added as the first step of a job. It maps outbound connections, processes and file writes to each workflow step, builds a baseline in audit mode, and blocks egress to anything off an allowlist. It fully supports GitHub-hosted Linux runners and runs in audit mode on Windows and macOS. The Community tier is free for public repositories; Enterprise is $16 per contributing developer per month (as of September 2026).
Best for: egress control and runtime visibility without changing runners.
Side by side
| Capability | CRACI | GitHub-hosted | Blacksmith | Depot | Namespace | WarpBuild | Self-hosted |
|---|---|---|---|---|---|---|---|
| Price, 2 vCPU Linux x64 | €0.004 per minute | $0.006 per minute | $0.004 per minute | $0.006 per minute beyond plan | $0.002 in plan, $0.003 overage | $0.004 per minute | No GitHub charge; you pay for hosts |
| Metering | Per second | Rounded up per job to the minute | Not stated | Per second | One-minute minimum, then per minute | Per minute | Your hosts, busy or idle |
| Free usage | No free tier | 2,000 to 50,000 minutes per month | 3,000 minutes per month | 7-day trial | Not stated | Free usage allowance | Not applicable |
| Windows and macOS | Linux only | Windows in beta | Any host you run | ||||
| Docker layer caching | Not stated | Your setup | |||||
| Egress policy per job | Azure private networking | Static IPs | Block or advisory | BYOC network rules | You build it | ||
| SBOM of what each job fetched | With completeness state | Image scan with Syft | |||||
| Signed build provenance | Artifact attestations | BuildKit image attestations | Tooling you add | ||||
| Runs in your cloud or network | Azure private networking | Not stated | AWS, Business plan | Not stated | BYOC | ||
| SOC 2 Type II report | Not stated | Your own controls |
- Included
- Partly
- Not included
"Not stated" means we could not confirm it in the vendor's public pages.
When to stay on GitHub-hosted runners
- Your usage fits inside your plan's included minutes, or your repositories are public.
- You want zero setup and no extra vendor.
- You need a documented SLSA level: GitHub states its artifact attestations provide SLSA v1.0 Build Level 2, and Level 3 with reusable workflows.
- You can mix: the choice is per job, so macOS and Windows jobs can stay while Linux jobs move.
Read more about CI/CD integration, CRACI pricing and the startup program.
Try a different runner on one job
Change runs-on on a single job, run it on CRACI, and compare the bill, the build and the SBOM.
Book a demo