GitHub Actions-compatible. Independently run.

GitHub Actions can go down. Your delivery pipeline shouldn’t.

Runnable executes your existing workflows with an independent scheduler and clean Linux machines—so GitHub stays your source of truth without becoming a single point of failure for CI.

Scan first, migrate with a reviewable pull request, and run in parallel before switching. Read the migration guide.

10 developers · 3,000 CI minutes

See what $20/month buys

Runnable independent CI

$20/month · $0/developer

GitHub Team seats

$40/month · $4/developer

Runnable - An independent Actions-compatible CI control plane | Product Hunt
.runnable/workflows/ci.yml
name: CIon:  push:    branches: [main]  pull_request: jobs:  test:    runs-on: ubuntu-latest    strategy:      matrix:        node: [22, 24]    steps:      - uses: actions/checkout@v4      - uses: actions/setup-node@v4        with:          node-version: ${{ matrix.node }}      - run: npm ci && npm test
lint4stest (22)18stest (24)17spackage9s

Privacy-first CI

Your code runs here. It never trains here.

Runnable processes customer content only to provide, secure, and support your CI. We never use source code, diffs, workflows, logs, artifacts, secrets, or support attachments to train or improve AI models—ours or anyone else's.

No opt-out required. This applies to every plan.

A straightforward business model. You pay Runnable to run CI. Your development activity is not an advertising asset or a training corpus.

No AI training

Customer content is never sold, used for advertising or competitive analysis, or repurposed for generalized model development.

Minimal source custody

Your repository stays in GitHub or Entire. Each job fetches the requested commit onto one clean, single-use runner.

Least-privilege access

Short-lived, read-only repository credentials are refreshed during execution. Platform-wide credentials never enter the job.

Tenant-isolated secrets

Per-organization workspace keys, a fresh data key per secret, authenticated context, and no customer secrets for fork pull requests.

Explicit retention

Logs and artifacts follow published retention windows, so what Runnable keeps—and for how long—is never ambiguous.

Provider-neutral CI

Use GitHub or Entire with familiar workflow syntax. Runnable executes and records CI independently of GitHub Actions.

Everything after git push

The Actions product, rebuilt around your team.

Your Git provider remains the source of truth. Runnable owns the workflow lifecycle from authenticated event to final job conclusion.

GitHub or Entire source

Use the GitHub App, an Entire regional mirror, or register an Entire-native repository with authenticated event delivery.

Independent scheduler

Runnable parses, plans, queues, and coordinates every job without delegating control to another CI service.

Live, searchable logs

Stream masked output in real time, read historical ranges, or let MCP agents diagnose failures and watch deployments on any plan.

Job-scoped security

Ephemeral credentials, envelope-encrypted secrets, fork isolation, and one clean machine per job.

Artifacts and cache

Keep official artifact and cache action compatibility with retention and quotas controlled by your plan.

Usage you can explain

Authoritative machine time, normalized Linux minutes, immutable metering, and reconciliation-ready billing.

Built-in adaptive PR review

Preview

One review. The depth matches the change.

Configure runnable/pr-review@v1 once. A fixed risk policy routes the same pinned PR revision from a focused first pass to an adversarial conclave, then adds compiler mapping and differential tests when the change needs evidence.

minimum-depth sets the floor—not a separate product. Every path produces one advisory GitHub review, one authenticated report, and stays inside the same hard cost ceiling.

One actionOne pinned revisionHard cost ceiling
.runnable/workflows/pr-review.ymlPreview
name: PR reviewon:  pull_request:    types: [opened, synchronize, reopened, ready_for_review] permissions: {} jobs:  review:    runs-on: ubuntu-latest    steps:      - uses: runnable/pr-review@v1        with:          model: recommended          max-cost-usd: "5.00"          minimum-depth: standard
Illustrative resulthigh risk → evidence

Reviewers

4 independent

Finding

1 verified

Coverage

Complete

Tenant scope can be skipped. The generated test passed on the merge-base and failed on the PR head. Security owner review recommended.

Standardlow risk · 1 reviewer

Focused review

One bounded reviewer inspects the changed code and its immediate context without checking out the repository.

Thoroughmedium risk · 2 reviewers

Adversarial round

Independent passes feed a shared candidate pool. Challenges look for counterexamples before a fresh adjudicator decides what survives.

Evidencehigh risk · 4 reviewers

Review plus verification

Roslyn and the TypeScript compiler map the blast radius. Strong hypotheses become secretless tests against the merge-base and PR head.

Explicit adjudication

Every incoming finding gets a disposition.

At evidence depth, each finding from the earlier review is linked back to its original claim or explicitly rejected. Rewording does not duplicate it; rejection does not quietly restore it.

F-01

Confirmed

Survived challenge and remains one finding.

F-02

Rejected

Equivalent behavior or insufficient evidence.

F-03

Verified

Base-pass and head-fail is labeled a verified regression.

Visible risk reasons, advisory output, one $5 default AI ceiling, and $0.25 only after the single review is delivered. Runner compute and taxes are separate.

Browser QA

Gated preview

Your build passed. Can your users finish the journey?

Run plain-language cases against your deployed preview in real Chrome. runnable/qa@v1 clicks through the experience and checks the results you expect, right inside your workflow.

Deploy first, pass the preview URL, and keep your QA cases beside the code. Organization owner enablement and separate AI pricing consent are required.

Read the Browser QA post

01 · Describe

Plain-language steps. Observable expectations.

Check navigation, sign-in, and other important journeys. Each case starts with a fresh browser session.

02 · Inspect

Passed, failed, or inconclusive.

Per-case summaries and a JSON report show the outcome. Safe final screenshots are included for suites without secrets. QA evidence expires after one day.

03 · Control

Choose the gate. Set the budget.

Fail on failed or inconclusive cases, or collect advisory results. Set an AI cost ceiling for each run; normal runner compute is billed separately.

Built for Entire's Git network

CI/CD for Entire repositories, available now.

01

Connect your repository

Use either a /gh/ mirror or an Entire-native /et/ repository URL.

02

Deliver events

GitHub sends signed events; Entire-native repositories receive a one-time authenticated webhook credential for a relay.

03

Run through Entire

Ephemeral jobs authenticate with ENTIRE_TOKEN and fetch directly from the selected regional cell.

Drop-in where it matters

Move the file. Keep the semantics.

The migration assistant scans your existing workflows, explains unsupported constructs, then opens a pull request that copies compatible YAML for a parallel pilot without rewriting it.

push, pull request, release, issue, schedule, manual, and repository dispatch

matrices, expressions, needs, outputs, conditions, and concurrency

reusable workflows, environments, and approval gates

shell, JavaScript, composite, Docker, and local actions

artifacts, cache, secrets, cancellation, and reruns

An explicit V1 boundary

No silent surprises.

Jobs and steps run for up to six hours. Native services, Compose, Testcontainers, OIDC, and write-scoped GitHub tokens have explicit runtime contracts; job containers and non-Linux architectures remain validation boundaries.

services.full

Native service containers, Docker Compose, docker run, and Testcontainers

share the isolated job Docker daemon.

Independent CI, priced by workload

Your CI bill shouldn't grow with your team.

Runnable is independent delivery infrastructure: its own scheduler, clean Linux machines, masked logs, and hard spend controls. Every developer gets access. Only workload, concurrency, and retention change the bill.

Billing-model lens · headcount economics

10 developers. One Runnable CI bill.

Runnable independent CI

$20

$0/developer · 3,000 minutes

GitHub Team seats

$40

10 × $4/user · 3,000 minutes included

The Runnable total is Hobby plus 2,500 overage minutes, with 1 concurrent job and 7-day logs. Add another developer at the same workload: Runnable adds $0/month; GitHub Team adds $4/month. Move up a Runnable plan for throughput and retention—not headcount.

Migration lens · cost of independence

What $20/month buys when Team stays.

GitHub Team seats

$40

unchanged for code hosting and collaboration

Runnable independent CI

+$20

a separate delivery path for every developer

At 3,000 minutes, GitHub Team's included Actions usage costs $0 incrementally. Runnable's $20/month is an investment in a separate scheduler, clean-machine runner fleet, masked logs, and spend controls—not more GitHub-hosted minutes.

GitHub Team and Runnable are not interchangeable products: Team bundles code hosting and collaboration. GitHub Free organizations support unlimited collaborators and include 2,000 private-repository Actions minutes; at 3,000 Linux 2-core minutes, the incremental Actions usage is $6. Standard runners remain free for public repositories. Both products charge $0.006 per additional comparable minute. Read the full comparison and sources.

Plans by workload

Choose capacity, not seats.

Unlimited users and developers on every plan. Included compute, explicit overage pricing, and customer-controlled spend limits keep headcount out of the invoice.

Hobby

For founders and new startups shipping their first workflows.

$5 / month

then $0.006 per normalized minute

Unlimited users and developers

500 normalized minutes

1 concurrent jobs

7-day log retention

MCP agent access

Start onboarding

Starter

For small teams moving their core workflows.

$29 / month

then $0.006 per normalized minute

Unlimited users and developers

3,000 normalized minutes

3 concurrent jobs

14-day log retention

MCP agent access

Start onboarding

Pro

Popular

For growing teams running CI in parallel.

$99 / month

then $0.006 per normalized minute

Unlimited users and developers

10,000 normalized minutes

10 concurrent jobs

30-day log retention

MCP agent access

Start onboarding

Scale

For high-throughput engineering organizations.

$299 / month

then $0.006 per normalized minute

Unlimited users and developers

30,000 normalized minutes

30 concurrent jobs

90-day log retention

MCP agent access

Start onboarding

Enterprise

Custom

Unlimited users and developers, SAML SSO, 100,000+ normalized minutes, 100+ concurrent jobs, custom capacity, retention, support, and commercial terms.

Contact sales

Your workflows are already runnable.

Connect GitHub or an Entire-native repository and see the compatibility report.

Get started