Skip to main content
Run portable CI jobs for bounded builds or tests from any CI provider with the bead CLI. bead run uploads source, executes the command, reports observed cost and requests machine deletion.

Authenticate

Create a CI key from an authorized account:
Store the returned secret in your provider’s secret store. The preset can create machines and access or delete only its own machines. It cannot access credential profiles, billing administration or other machines. In your CI job:
Choose an available template with the tools your build needs. The example assumes ci-4x8 is available to your account.

Source and execution

--push selects the local checkout. The CLI uploads tracked and unignored Git files, with a 32 MiB compressed maximum. Materialize submodules explicitly. Commands run in /root/repo. Arguments after -- are literal argv. Use sh -lc for shell syntax. The default command timeout is 900 seconds; --timeout accepts 1–21600 seconds. A nonzero remote exit becomes the CLI exit status.

Cleanup and limits

The CLI requests deletion on success, failure, timeout, SIGINT and SIGTERM. While active, it renews a 15-minute server deletion deadline. If the caller disappears, that deadline remains as a backstop. If deletion is unconfirmed, inspect the printed machine ID. Normal prepaid credit and admission limits apply. Cost can lag final meter ingestion. Use workload estimates before starting a job. Run bead pricing or call GET /v1/pricing for current rates. For a persistent development workspace with artifact pulls, use worktrees. For GitHub job assignment, use GitHub Actions runners.