NewDebug failed jobs and retry from any step.

Platform / Runners

Product 04

Preloop Runners

Drop-in GitHub Actions runners on up to 3x faster hardware.

Change one line and your jobs run on gaming-class CPUs and the latest dedicated AMD hardware — up to 3x faster, with no cap on how many run at once. Every job gets its own microVM, and every run is measured as it happens.

Workflow files
Unchanged
Availability
Available today
Surface
CLI, API and dashboard
LOOP04beats
01Changesnapshot
02Verifyreplay
03Fixpause
04Mergepublish
runners loop poster
A job claims a warm microVM, runs, and the machine is destroyed.Muted · loops

Why it exists

GitHub-hosted runners run on shared, older hardware, cap how many jobs run at once, and tell you little about where the time went. Self-hosted runners add machines to maintain. preloop gives every job a fast, fresh machine, runs as many as you push, and shows you what each one cost.

Preloop Runners, step by step.

The mechanism, in the order a job meets it.

  1. 01

    Plan

    preloop resolves expressions, expands matrices and assigns each job to a pool member that matches its labels. It prefers the least-loaded eligible runner.

  2. 02

    Claim

    Pool members are created ahead of demand, paused and parked. A job claims one at start, which resumes it with the right labels. A job never waits on a boot.

  3. 03

    Isolate

    Each job runs in its own microVM with its own kernel and filesystem, built from the official GitHub runner image. No shared Docker daemon, no persistent home directory.

  4. 04

    Attest

    Before any secret or OIDC token reaches the job, the machine is checked against the pinned image digest. Enforce mode fails closed on a mismatch.

  5. 05

    Destroy

    The machine is deleted when the job ends, and the next job gets a fresh one. A failing job can pause for debugging instead.

What you get.

Each capability is part of the product today.

01

Up to 3x faster hardware

Jobs run on a mix of gaming-class CPUs, chosen for single-thread speed, and the latest dedicated AMD hardware for parallel builds and test suites.

02

Unlimited concurrency

No concurrency cap and no queue for a free slot. Every job you push starts on its own machine.

03

Real-time analytics and insights

See duration, queue time, cost and failure rate for every workflow, job and step as runs happen, and find the jobs that slow your pipeline down.

04

Hardware-isolated microVMs

Every job runs in its own microVM, isolated by hardware virtualization rather than a shared kernel. It gets its own kernel, filesystem and network, and nothing from one job can reach another. The machine runs exactly one job and is destroyed with it.

05

A warm pool, claimed at job start

Members are created from a prepared runner image and kept paused. Claiming one resumes it, so provisioning time leaves the critical path.

06

Guest attestation before secrets

preloop checks the running machine against the digest the job pinned. Log-only and enforce modes are per tenant; enforce fails closed.

07

Every image ships its evidence

Each built runner-image digest carries an immutable SBOM, a package inventory, Trivy vulnerability and secret findings, and a preflight checklist — queryable per digest, with diffs between two digests.

08

Real GitHub Actions

Jobs use the same actions, expressions and outputs as GitHub. The runner is the official protocol, so workflows drop in unchanged.

Sample / yaml

Exampleyaml
name: ci
on: [push, pull_request]
jobs:
  test:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm ci
      - run: npm test

`plp ci migrate` writes this line for you; everything else stays your workflow.

Specs.

Hardware
Gaming-class CPUs and the latest dedicated AMD hardware. Up to 3x faster than GitHub-hosted runners.
Concurrency
Unlimited. Every job starts on its own machine; there is no slot queue.
Analytics
Duration, queue time, cost and failure rate per workflow, job and step, updated as runs happen.
Platform
Linux, amd64 and arm64.
Labels
A job matches on the labels in its workflow's runs-on line.
Image evidence
SBOM, package inventory, Trivy findings and preflight results are served per digest from the API, tenant-scoped.
Job deadline
60 minutes, hard, per job.
Stale runs
A newer push cancels runs still queued or running for the same pull request.

Preloop Runners questions

Q.01What happens to a job's environment when the job ends?

It is destroyed, and the next job gets a fresh one. A failing job can pause for debugging instead.

Q.02What does guest attestation check?

The running machine is compared to the image digest the job pinned before secrets or OIDC tokens reach it. Enforce mode fails closed on a mismatch.

Start

Start with one workflow.

We will set it up with you and show you what changes.