Product

A runner cloud that explains itself.

Every job moves through named states, from GitHub demand to confirmed cleanup. Each transition is compare-and-set, idempotent and auditable.

Run timeline

See where a run is and why it stopped.

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.

Lifecycle

Eight states to completion.

Guest callbacks are untrusted evidence. They never advance the authoritative lifecycle on their own.

  1. observed

    GitHub sends a workflow_job event. Demand is recorded, not yet assigned.

  2. queued

    The job waits for admission under the organization's limits.

  3. admitted

    Policy accepts the repository, label and size, and reserves capacity.

  4. provisioning

    A one-job microVM is created from a signed, pinned image.

  5. runner_connecting

    A just-in-time runner registers with GitHub for this job only.

  6. executing

    Your workflow runs. Only this time is billable under the planned policy.

  7. finalizing

    The result is bound to the run and cleanup starts.

  8. completed

    The VM is gone and cleanup is confirmed, or the record says it is not.

Terminal states

Failure has a class.

A workflow failure and an infrastructure failure are different records, so you debug the right thing first.

  • cancelled

    Stopped by a person or an agent with the right scope.

  • timed_out

    Exceeded the maximum run time for the size.

  • rejected_policy

    Denied before start, for example a fork pull request.

  • failed_workflow

    Your code failed. The infrastructure did its job.

  • failed_infrastructure

    The platform failed. Not billed before your code starts.

  • lost

    A node stopped reporting. Visible, never silently retried.

Limits

Published before you run.

The same limits appear in the API, dashboard, CLI and MCP. A listed size is a target until its runtime gate closes.

Platform
GitHub.com, Linux x86-64, Ubuntu 24.04
Sizes
2, 4, 8 and 16 vCPU with 4 GB per vCPU (targets)
Disk
30 GB disposable root, destroyed after the job (target)
Maximum run
6 hours (target)
Network
Public egress only; no ingress or private networks
Not supported
Nested KVM, privileged or host-namespace access
Inspect your organization's admission state
openrunners admission get

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.