Invite-only alpha · admission closed

CI runners that show their work.

Ephemeral GitHub Actions runners on Firecracker microVMs, a serverless cache, and a waterfall of evidence for every job. Zero idle. Apache-2.0.

- runs-on: ubuntu-latest+ runs-on: openrunners-4vcpu-ubuntu-2404

Built on open standards

  • GitHub Actions
  • Firecracker
  • Rust
  • PostgreSQL
  • OpenTelemetry
  • Cosign
  • Apache-2.0

Platform

Everything a job leaves behind, in one place.

Pick a surface. The dashboard, CLI, API and MCP server read the same operation registry, so a person and an agent see the same state and the same limits.

A fresh machine for every job.

  • One Firecracker microVM per job, launched through jailer.
  • Created from GitHub job events and removed after the job.
  • Fork pull requests and unknown repositories are denied.
How the lifecycle works
build / linuxruns-on: openrunners-8vcpu-ubuntu-2404Completed
  1. queuedQueued
  2. admittedAdmitted
  3. provisioningProvisioning
  4. runner_connectingRunner connecting
  5. executingExecuting
  6. finalizingFinalizing
  7. cleanupCleanup confirmed
Runner removed. Evidence retained.lifecycle: authoritative · guest output: untrusted
Illustration of the dashboard run timeline. Bar lengths show order, not measured durations.

How it works

From GitHub job to evidence record.

GitHub creates demand. OpenRunners admits it, runs it on a disposable machine, removes the machine, and keeps a record of what happened.

  1. 01

    Install the GitHub App

    Connect an organization and select trusted repositories in the dashboard. GitHub keeps your workflows, checks, logs and artifacts.

  2. 02

    Get a fresh microVM per job

    Each accepted job gets one Firecracker microVM behind jailer. It is never reused and nothing waits idle between jobs.

  3. 03

    Cache without a cache server

    actions/cache v4 and Buildx type=gha are served by a serverless cache plane on object storage, scoped to organization, repository and ref. Cache performance is not yet measured.

  4. 04

    Keep the evidence

    Lifecycle states, failure class and cleanup confirmation are recorded from authenticated platform receipts, separate from guest output.

Capabilities

Built to be checked, not trusted.

Each capability carries its current state. We change a label only when there is evidence to change it.

  • Runtime in validation

    One job, one VM

    A slot is never reused. Fork pull requests and unknown repositories are denied by policy.

  • Design

    Zero idle compute

    Runners are created on demand from GitHub job events and removed after the job.

  • Billing disabled

    Per-second billing

    Planned: customer-code time only, after a 10-second minimum. Failed provisioning is not billed.

  • API implemented

    Run timeline

    Queued, admitted, provisioning, connecting, executing, finalizing and cleanup, with a reason for every terminal state.

  • API implemented

    Explicit uncertainty

    A lost node or unconfirmed cleanup is a visible state. It is never reported as success.

  • API implemented

    One operation registry

    The API, CLI, MCP server and dashboard use the same operation IDs, scopes and limits.

A translucent blue glass cube contained inside a thin glowing wireframe cube

Security posture

Assume the workflow is hostile.

  • One Firecracker microVM per job, launched through jailer.
  • Public egress only. No ingress, no private networks.
  • No host Docker, host filesystem, metadata or control-plane credentials in the guest.
  • Guest output is recorded as untrusted, never as proof.
Read the security model

Pricing

Per-second billing. No seat fee.

Planned alpha rate: $0.002 per vCPU-minute on Linux x64, billed per second after a 10-second minimum. Billing is disabled during the alpha.

  • 2 vCPU$0.004/min2 performance vCPU / 8 GB
  • 4 vCPU$0.008/min4 performance vCPU / 16 GB
  • 8 vCPU$0.016/min8 performance vCPU / 32 GB
  • 16 vCPU$0.032/min16 performance vCPU / 64 GB

Pricing and cited comparison

Open source

Apache-2.0. No lock-in by design.

The control plane, scheduler and evidence model are written to be self-hosted. Hosted runner vendors have shut down before; an open license means your CI does not depend on one company staying open.

Open-source commitments
License
Apache-2.0
Backend
Rust, PostgreSQL
Boundary
Firecracker + jailer
Source
Published after release review

FAQ

Questions before you switch.

Run your next job on a runner that shows its work.

Admission is manual for trusted GitHub repositories while the release gates close. Sign in with GitHub to request access and we will review your organization when a slot opens.