Crow and the rest. Fairly compared.
Six CI systems you can run on your own hardware, against the same ten questions. Every claim comes from the project's own documentation or pricing page, or from our own measurement, as noted at the bottom. Where another tool is the better fit, we say so.
| Topic | Crow | GitLab CI | Jenkins | TeamCity | GitHub Actions | Forgejo Actions | Woodpecker |
|---|---|---|---|---|---|---|---|
| License | Apache-2.0 | Open core: MIT core, paid EE | MIT | Proprietary | Proprietary control plane, MIT runner | GPL-3.0 | Apache-2.0 |
| Every feature free | Yes, no paid edition | Merge trains, external repos and secrets: Premium | Yes | Free up to 3 agents and 100 build configurations | Free today; a runner fee was announced, then postponed | Yes | Yes |
| Forges | GitHub, GitLab, Forgejo, Gitea, Bitbucket; several on one server | GitLab; others only with Premium | GitHub, GitLab, Bitbucket, Gitea through plugins | GitHub, GitLab, Bitbucket, Azure DevOps; not Gitea or Forgejo | GitHub only | Forgejo only | GitHub, GitLab, Forgejo, Gitea, Bitbucket |
| Pipeline format | YAML or Jsonnet in the repo | YAML in the repo | Groovy Jenkinsfile | Kotlin DSL, UI or YAML | YAML in the repo | YAML, close to GitHub Actions | YAML in the repo |
| Windows and macOS | Windows containers; fresh Hyper-V or macOS VM per workflow | Windows and macOS runners | Windows and macOS agents | Windows and macOS agents | Windows and macOS runners | Linux runners only | On the host only, without isolation |
| Autoscaling | Built in for 6 clouds; static agents first | Built in: AWS, GCP, Azure | Through plugins, e.g. Kubernetes or EC2 | Built in: Kubernetes, EC2, vSphere | Kubernetes only, with ARC | None built in | Autoscaler not feature-complete yet |
| External secret stores | Built in: Vault, OpenBao, Azure Key Vault, Infisical | Premium only | Vault through a plugin | Vault built in | Through OIDC and actions | OIDC tokens, no native store | Through an HTTP extension you run |
| Metrics | Built-in dashboard and chart builder; Prometheus | Basic analytics free, runner dashboard Ultimate; Prometheus | Load graphs only; Prometheus through a plugin | Built-in charts; Prometheus endpoint | Actions analytics cloud only; Prometheus on GHES | No dashboard; Prometheus for the server only | No dashboard; Prometheus for the server |
| High availability | Several servers with leader election, on Postgres or MySQL | Free reference architectures; Geo needs Premium | Active-passive failover only; active-active needs CloudBees | Secondary nodes with failover; needs shared storage | Passive replica with manual failover | Not officially supported | Replicas mentioned, no documented setup |
| Server footprint | Go, about 20 MB idle; SQLite, Postgres or MySQL | 16 GB RAM baseline; Postgres and Redis | Java; 4 GB RAM recommended | Java; external database; 8 to 16 GB typical | GHES: 64 GB RAM with Actions, plus blob storage | Go; SQLite, Postgres or MySQL | Go, about 20 MB idle; SQLite, Postgres or MySQL |
Pick them when it makes sense.
GitLab CI
You want one platform for code, issues, registry and CI, and you are happy to host your code on GitLab and pay for Premium when you need merge trains or external secrets.
Jenkins
You need a plugin for something nobody else supports, or your builds already live in years of Jenkinsfiles that work.
TeamCity
Your team lives in JetBrains IDEs, builds on Perforce or Subversion, or wants a vendor contract behind its CI.
GitHub Actions
Your code is on GitHub and you want the Marketplace of ready-made actions more than you want control over the control plane.
Forgejo Actions
You run Forgejo, build only on Linux, and want CI built into the forge with GitHub-style workflow files.
Woodpecker
You want the project Crow was forked from, with its own community and roadmap, and can do without VM backends, built-in secret stores and several forges on one server.
Not everything. Yet.
The gaps we know about today, so you can weigh them before you switch. When they close, they close in the free release.
Login goes through your forge
Users sign in with their forge account. There is no separate LDAP or SAML, and roles are admin or not, with repository access synced from the forge.
Kubernetes runs Linux only
The Kubernetes backend schedules Linux pods. Windows builds use Docker or Hyper-V agents instead. The Podman backend is experimental.
A smaller ecosystem
Plugins are container images, and Woodpecker plugins work as they are. That is still far fewer than Jenkins plugins or GitHub Marketplace actions.
Checked against official documentation and pricing pages on 6 October 2026. Projects change; if something here is out of date, write to mail@devxy.io and we will fix it.
Server memory for Crow and Woodpecker is our own measurement, not a documentation claim: the latest releases (Crow 6.9.0 and Woodpecker 3.18.1) side by side, with the same GitHub forge settings and SQLite, after a few minutes idle.
- GitLab CI
- Jenkins
- TeamCity
- GitHub Actions
- Forgejo Actions