Crow CI
Get started

Open source, Apache-2.0CI/CD for every forge.

Crow runs your pipelines in Docker, Podman or Kubernetes, in throwaway Windows and macOS VMs, or on the host, for repositories on GitHub, GitLab, Forgejo, Gitea and Bitbucket.

A Crow pipeline with its workflows, steps and live logs
§ BackendsPick one per agent

Six backends. One pipeline format.

Run steps in containers, as Kubernetes pods, in a throwaway Windows or macOS VM, or straight on the host. Your YAML stays the same; agent labels decide where a workflow lands.

Pipelines as code.crow/*.yaml

Pipelines are YAML in your repo.

Steps run in containers, depend on each other as a DAG, and fan out with matrix builds. Crow picks up every file in .crow/ as its own workflow.

.crow/test.yamlYAML
when:
  - event: [push, pull_request]

steps:
  - name: test
    image: golang:1.26
    commands:
      - go test ./...

  - name: build
    image: golang:1.26
    commands:
      - go build -o dist/app ./cmd/app
    depends_on: [test]
The pipeline list of a repository in Crow
What you get06 highlights

One CI for all your code, wherever it lives.

7 categories, self-hosted vs hostedWhy self-host
Us
Crow.
Them
Hosted CI.
01Build minutes
Crow

Unlimited, on your hardware.

Hosted

Monthly quotas, then per-minute billing.

02Runners
Crow

Any size, any architecture, on-prem or cloud.

Hosted

Fixed machine sizes and few architectures.

03Forges
Crow

GitHub, GitLab, Forgejo, Gitea, Bitbucket, one server.

Hosted

Bound to the platform that hosts it.

04Secrets
Crow

On your server or in your own secret store.

Hosted

Stored on someone else's platform.

05Scaling
Crow

Cloud agents start only when the queue needs them.

Hosted

Pay for idle capacity or wait in line.

06Isolation
Crow

Containers, pods or a fresh VM per workflow.

Hosted

Whatever the provider decides to run.

07License
Crow

Apache-2.0, every feature included.

Hosted

Proprietary, features by plan.

Run your first pipeline in five minutes.

Start the server and an agent with Docker Compose, log in with your forge, and enable a repository.