Skip to main content
Preloop runs GitHub Actions workflows on hardware-isolated microVMs. Your .github/workflows files stay unchanged. You choose where the jobs run: on your own machine, on servers you operate, or on hosts that register with GitHub. Preloop ships as two products. You can use either one on its own. A failed step, a fix in another pane, and a re-run, all local with no push required

Control plane

Run unmodified workflows locally or on your own infrastructure. preloop run executes a workflow against your working tree, including uncommitted files. preloop serve runs the engine, which can start runs from GitHub pushes and pull requests through a GitHub App, and can pause a failed job so you can debug it.

Runner

A standalone, drop-in replacement for actions/runner. It registers with GitHub or a Preloop server, polls for jobs, and runs them on the host where it is installed. It needs no control plane, microVMs, or background services.
Preloop system overview: clients, the control plane, the VM pool, and microVMs

Where to go next

Quickstart

Install the CLI and run your first workflow locally.

Install

Requirements for macOS, Linux, and WSL2, and running the engine as a service.

Configuration

The config file, GitHub credentials, and secrets.

CLI reference

Every command and flag.

Compatibility

How closely Preloop matches GitHub Actions, and where it differs.

Comparison

How Preloop compares with other local and self-hosted CI tools.