Skip to content

Roost

Methodology

How Roost collects prices, what each number means, and how the rankings are calculated. This is a draft: it will change before launch, and every change will be dated here.

Draft. Not yet signed off (BWB-436). Numbers on preview builds are real and sourced, but the method may still change.

Where the numbers come from

Every price and every limit on Roost comes from the provider's own pricing page or documentation. Never from blogs, forum posts, screenshots, sales calls or our memory. Each value records two things:

  • Source: the exact page it was read from. It appears as a numbered footnote next to the number.
  • Checked: the day someone (or, later, the daily checker) last confirmed the value on that page.

The build refuses any price without both. Data older than 30 days is flagged for a re-check.

Unknown means unknown

If a provider doesn't publish a fact (its billing increment, whether setup time is billed, whether vCPUs are shared), Roost shows unknown and gives the reason. It never fills the gap with an estimate. Missing data is not allowed: every field is either a value or an explicit unknown.

Cost per finished job (CI runners)

A per-minute list price hides how a job is actually billed. Roost ranks CI runners by the cost of one finished job:

cost = price per minute × billed minutes
billed = max(minimum charge, round_up(run time + billed setup, billing increment))
  • Run time is a fixed 5 minutes for every provider. That is an assumption, not a measurement. Roost will replace it with measured run times once its own benchmarks exist.
  • Billed setup is runner preparation and cleanup that a provider bills on top of the job.
  • Billing increment is the rounding step: per second, per minute, or longer.
  • When a term isn't published, it is left out and the result is marked ≥, because the real cost can only be higher.

Things that change what a price is worth, but can't be folded into one number, are shown as caveats: shared vCPUs, a monthly plan you must pay first, prepaid credit, job-length caps and low concurrency limits.

Agent sandboxes

Sandboxes are billed in different ways: per vCPU and GB of memory, per fixed size, or only for active CPU. Roost compares them on one stated scenario: one busy 1-hour session at 2 vCPU and 4 GB.

  • Per-resource prices are multiplied out for that shape.
  • Fixed sizes use the smallest size with at least that much CPU and memory, and the table says which size was used.
  • Plan fees are shown as caveats instead of being spread over the session.

What Roost does not rank

  • Discontinued providers stay listed with the date they closed, but are not ranked.
  • Legacy tiers are shown for reference, not ranked.
  • Providers with an unknown price are listed under "Listed but not ranked".

Corrections

See the editorial policy for how to report a wrong number and how quickly we fix it.