Hydra vs Screwdriver
Hydra
github.comScrewdriver
screwdriver.cdSide by side
| Figure | Hydra | Screwdriver |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | — |
| Web | Yes | Yes |
| Linux | Yes | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Continuous Integration Software | 8.5 (#11) | 7.5 (#39) |
| API | The repository includes a JSON API specification in hydra-api.yaml and points users to Swagger Editor for exploration. | The current API is version 4, is documented through Swagger, and provides interactive Try it out controls. |
| Deployment | The repository says running Hydra is currently only supported on NixOS and recommends the NixOS module for production. | Screwdriver can be run as a local cluster using Docker Compose, and its documentation also describes production cluster setup. |
| Intended users | Hydra is intended for Nix and NixOS package developers and is not needed simply to use NixOS. | Screwdriver is aimed at teams defining continuous delivery pipelines and managing their own build infrastructure. |
| Purpose | Hydra is a continuous integration service for Nix based projects. | Screwdriver is an open source build platform designed for Continuous Delivery. |
Plans
In their own words
Hydra
Hydra is a continuous integration service for projects based on Nix. It checks out project source periodically or continuously, builds it, runs tests, and produces reports. Work is organized into jobsets whose inputs can trigger builds when they change; jobsets can also depend on one another. Flake jobsets are supported when their outputs expose a hydraJobs attribute set. Jobs can produce packages, ISO images, or tarballs, and jobset inputs can use Git checkout sources. Hydra also provides a JSON API. It is aimed at Nix and NixOS package developers, not people who only need to use NixOS. Hydra is open source under GPL-3.0 and listed at free. It is self-hosted, with no hosted option listed, and running it is currently supported only on NixOS; the repository recommends the NixOS module for production. Flake evaluation is restricted from accessing files outside the Nix store. Some state is stored in the database, so backups are needed, and the wiki reports that hydra-queue-runner can sometimes leave queued builds unscheduled.
Screwdriver
Screwdriver has no write-up on Specifiction yet; its figures are above.