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.