CI is just a workflow.
Cryosleep is a durable workflow engine with a CI layer on top. Runs sleep for weeks, wait for signals and human approvals, spawn child runs — and the same substrate checks out your repo, runs your build, and reports your commit status.
$ curl -fsSL https://cryosleep.io/install.sh | sh
$ cryo init && cryo run pipeline.yaml Durable by default
Runs sleep for days without holding a machine, wait for signals and human approvals, and spawn child runs. If an agent or the server restarts, the run resumes from its last checkpoint.
Workflows in your language
YAML covers the classic build-test-deploy shapes. When you need
real code, write the same workflow in bash, Python, TypeScript,
or Go: every cryo step is a checkpoint, completed
steps replay instantly, and there are no deterministic-replay
rules to fight.
Your machines, your network
Bring your own agents. Each one advertises capabilities and only claims work that matches, so build hardware, GPUs, and network-restricted runners coexist on one queue — inside your infrastructure.
A durable workflow is just a script
#!/usr/bin/env bash
set -e
cryo step "build" -- make release
cryo sleep 24h # holds no agent while it waits
verdict="$(cryo wait-signal ship)" # a human or a system decides
cryo step "deploy" -- ./deploy.sh Kill the agent mid-step, restart the server, come back tomorrow: the run continues from the last checkpoint with its history intact.
The self-watching deploy
One run owns a commit's whole life: it builds on the merge event, deploys to staging, sleeps through a 24-hour soak subscribed to alert events, then promotes — or rolls back — with an approval gate before production. The decision trail is the run's own timeline. Pure CI dies at the hours cap; pure workflow engines can't check out code or run your build. Cryosleep is both halves on purpose.
Invite-only preview
Cryosleep is running production workloads (including its own CI) and is open to invited users while the edges get sanded.