CI and test infrastructure / GitLab.com hosted runners alternative

GitLab.com hosted runners alternative

GitLab.com hosted runners execute CI/CD jobs on disposable machines. Their compute-minute allowance is weighted by runner type and charged to a namespace. A reusable agent environment requires a separate policy for installed software, system configuration and growing files.

Reviewed 2026-10-19 · Published by the Sandbox0 team

When GitLab.com hosted runners fits

Choose GitLab for integrated source control, CI/CD, security and delivery workflows. Keep its pipeline, namespace and governance controls when those are the product requirements.

When to consider Sandbox0

Consider Sandbox0 for the persistent Linux execution layer, with explicit integration into your pipeline. GitLab orchestration, security scanning, artifacts, permissions and runner management remain capabilities to retain or implement.

Capabilities

GitLab.com hosted runners and Sandbox0: what persists?

Feature comparison with documentation and verification status
Environment and runtime lifetimeGitLab.com hosted runnersNot established in this reviewSandbox0ttl and hard_ttl default to 0 (disabled). Configure idle pause and deletion policies for the same persistent sandbox identity; an idle running sandbox still accrues compute charges.Read documentation →
Persistent filesGitLab.com hosted runnersSeparate artifacts/caches can retain files; runner-host disk is disposable.View evidence ↗Sandbox0The writable RootFS survives successful checkpoints, including software, system configuration, dependencies, and user data.Read documentation →
Whole RootFSGitLab.com hosted runnersHosted runner VMs and associated execution data are removed after the job.View evidence ↗Sandbox0Persistence extends beyond /workspace to paths such as /usr/local, /etc, and /home. Runtime tmpfs and virtual filesystems are excluded.Read documentation →
Release compute, keep stateGitLab.com hosted runnersJob scheduling does not establish machine checkpoint/resume.View evidence ↗Sandbox0Pause compute between tasks; resume on available capacity. Default resume starts fresh processes from the saved filesystem.Read documentation →
Memory and process stateGitLab.com hosted runnersNo arbitrary job-memory checkpoint is established.View evidence ↗Sandbox0Experimental memory checkpoints can preserve compatible process state. Use memory: true on both pause and resume on a compatible deployment. A filesystem checkpoint alone does not preserve running processes.Read documentation →

Online RootFS growth

On growth-enabled images, Sandbox0 automatically expands the writable RootFS as free space runs low, within a configured sparse logical ceiling up to 64 TiB. Agent processes keep running. Growth is enabled in the qualified Cloud region; confirm activation for other regions. Existing images and snapshots retain their captured storage geometry. The ceiling is logical capacity, not preallocated host disk.

More runner resources or retained build artifacts do not provide a whole mutable RootFS that grows online and survives independent hosted jobs. A customer-operated runner can choose a separate persistent execution backend.

Files while compute is paused

Sandbox0's Files API reads persistent files without resuming compute. Filesystem-only pauses also permit edits; retained-memory pauses are read-only and reject mutations with 409. SSH, SFTP, file watching, and runtime-only mounts require running compute.

Repository files and published artifacts can remain available after jobs. That is a different scope from direct file operations throughout a paused agent’s supported RootFS.

See paused file operations →

A hosted runner serves one job

GitLab’s hosted runner workflow uses ephemeral VMs that serve a single job and are deleted after execution. Self-managed runners have a separately operated lifecycle; their disk retention should not be inferred from the hosted service.

Compute minutes are weighted namespace usage

Usage equals job seconds divided by 60, multiplied by the runner/project cost factor. Parallel jobs add their usage, so a ten-minute pipeline can consume more than ten compute minutes. Small Linux is factor 1, medium Linux factor 2 and macOS M2 Pro large factor 12 in the current table.

Monthly quotas and purchased minutes behave differently

Free namespaces receive 400 compute minutes monthly; Premium includes 10,000. Monthly quota resets, while separately purchased unused minutes roll over under the documented rules. These units are distinct from model/AI credits and storage allowances.

Pricing

Compare billing models, then price your workload

CPU allocation, memory, billing minimums, disk, plan fees, and supported workload differ. These meters are not equal-performance machine quotes. Confirm region, resource units, and included allowances before estimating a total.

GitLab.com hosted runners

Pricing reviewed 2026-10-19

Free
$0 per user/month
5 users per top-level group and 400 compute minutes/month under listed limits.
Rate source ↗
Premium
$29 per user/month, billed annually
Includes 10,000 compute minutes/month; compute factors still apply.
Rate source ↗
Additional compute
Purchase separately under effective account terms
Unused purchased minutes roll over; current numeric add-on price is not established here.
Rate source ↗

Compute-minute factors are quota multipliers, not dollar prices or direct CPU-hour rates. Namespace storage, AI credits, paid seats and independently operated runners have separate scopes; do not add plan allowances as though they were one common resource unit.

Check current GitLab.com hosted runners pricing ↗

Sandbox0

$0.015/GiB-hour compute (billed by the second at approximately $0.000004167/GiB-second), plus $0.02/GiB-month of retained incremental RootFS and memory checkpoint data. Shared base images and platform recovery retention are excluded; paused sandboxes accrue storage charges only.

Compute / GiB-hour
$0.015
Retained data / GiB-month
$0.02
Paused compute
$0.00

A 4 GiB agent, 100 running hours

$6.00 compute

4 GiB × 100 hours, billed by the second. Keeping 20 GiB of billable incremental data for a full billing month adds $0.40. CPU is derived from memory by the platform; choose a tier that fits your workload.

Understand storage billing →

Before migrating from GitLab.com hosted runners

  1. Record namespace tier, runner tags, resource cost factors, caches, artifacts and OS-specific jobs.
  2. Retain GitLab orchestration and integrate compatible Sandbox0 agent work with explicit runner isolation and output publication.
  3. Verify returned system tools, growing files, paused operations and the combined seat, quota, artifact, runtime and model costs.

Common questions

Is Sandbox0 a drop-in GitLab.com hosted runners replacement?

Evaluate API compatibility and product scope. These products serve different core workflows, so a change may require a different architecture.

Does keeping files also keep a running agent?

Filesystem state and volatile process state are separate. Sandbox0 requires explicit compatible memory checkpoints to preserve running processes; its default filesystem resume starts fresh processes.

Sources and review scope

The Boat team's Battleships directory is the discovery source. References below describe the product and plan discussed on this page. Check current availability, regional terms and billing units before migrating. Where the cited material does not establish a capability or price, the comparison identifies that uncertainty.

Related comparisons