Skip to content

BuildNot yet confirmed elsewhere1 publisher2 min readPublished

CircleCI's runner orchestrator 1.0 scales CPU, GPU and ARM machine runners from one deployment

CircleCI made Machine Runner Orchestrator 1.0.0 generally available, scaling self-hosted CPU, GPU and ARM runner VMs with CI demand at no additional cost. Preview users cannot upgrade in place and have to uninstall the old deployment before installing the new package.

The Engineer · Build desk

How we use AISend a correction

Illustration accompanying CircleCI's runner orchestrator 1.0 scales CPU, GPU and ARM machine runners from one deployment
Generated illustration

What happened

  • The orchestration layer can run on GKE, AKS or EKS or on a KubeVirt-based cluster, while the CI runners it manages stay machine-based.
  • A single deployment now manages several runner resource classes, so mixed fleets no longer need a separate orchestration install for each class.
  • CircleCI renamed the product from runner-provisioner to machine-runner-orchestrator, changing its Helm chart, container image repository and Packagecloud repository.
  • CircleCI warns that runners in the configured resource classes stay offline between removing the old deployment and installing 1.0.0.
  • Version 1.0.0 also fixes two high-severity vulnerabilities in the Go gRPC implementation.

Why it matters

  • cost The orchestrator adds no CircleCI charge, so whatever it saves or wastes shows up on the compute bill of the team that runs the runners.
  • decision Kubernetes teams end up operating two scaling loops, one for cluster nodes and one for runner VMs, and need to tell which one is short when a CI job waits.
  • constraint Preview users cannot pick up the 1.0.0 gRPC security fixes without also taking the reinstall and the runner outage that comes with it.

The orchestrator runs a demand loop. It watches CircleCI's workload requirements, starts machine runners when jobs need them and removes them when they do not [4]. Karpenter and Cluster Autoscaler react to a different signal. They respond mainly to unschedulable Pods and change the size of the cluster, and Karpenter can also consolidate nodes [7]. CircleCI's loop works from CI jobs and changes how many machines are registered as runners [8]. In a Kubernetes deployment, the cluster autoscaler handles the nodes that host the orchestrator's components and the orchestrator handles runner capacity [8]. I think that split suits this workload. The thing being scaled is a CI runner VM, and the signal that matters is a job waiting for one [3][4].

GitHub's Actions Runner Controller solves the same problem for Actions. Its runner scale sets create and remove ephemeral runners as workflow demand changes [9]. According to InfoQ, the difference is the execution model: ARC's runners are mostly Kubernetes-managed workloads, while CircleCI's orchestrator manages runner VMs [10]. InfoQ argues that this suits jobs that need VM-level isolation, or capabilities that are hard to reproduce in a runner container [10].

InfoQ frames the release around bursts: keeping enough runners for a spike in builds without provisioning for peak all the time [15]. That benefit carries over to a given team only if two things hold. Its CI load has to be bursty, with real idle time between peaks. A new runner VM also has to boot and register faster than its jobs can tolerate sitting in the queue. InfoQ's report does not include provisioning times, warm-pool options or scaling thresholds. Teams will have to measure the second condition on their own infrastructure.

Most of the migration work falls on automation. Any values file, image mirror or package source still pinned to runner-provisioner has to point at the new Helm chart, image repository and Packagecloud repository before the reinstall [11][12]. Renaming at 1.0 is at least cheaper than renaming at 2.0. The uninstall comes first, so the outage lasts as long as the team takes between the two steps [12][13]. A team that has the new chart, image and repository references staged before it uninstalls keeps that gap short.

What to watch

  • Whether CircleCI publishes runner VM provisioning times or scaling thresholds, which decide how much peak capacity a team can actually stop holding.
  • Whether CircleCI ships a patched runner-provisioner build for installs that cannot take the 1.0.0 reinstall outage yet.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence50
Adoption
Insufficient
Hype gap+5
Incentives
Insufficient
Confidence55
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    CircleCI has made its Machine Runner Orchestrator 1.0.0 generally available, providing automated scaling of self-hosted machine runner virtual machines according to CI workload demand.

    ReportedSupportedView cited source
  2. [2]

    The release expands the earlier Runner Provisioner preview with support for CPU, GPU and ARM workloads from a single deployment.

    ReportedSupportedView cited source
  3. [3]

    Machine Runner Orchestrator supports Kubernetes environments on GKE, AKS and EKS, alongside KubeVirt-based clusters, giving platform teams flexibility over where the orchestration layer runs while the actual CI runners remain machine-based.

    ReportedSupportedView cited source

Sources

1 independent publisher whose own reporting we read for this story.

  1. infoq.com

    1 article · October 9, 2026

    CircleCI Makes Machine Runner Orchestrator Generally Available

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Entities

Loading related stories