Open source CI/CD tools, installed and run

CI/CD tools you can run yourself. The list is ordered by whether each project came up when Argusic installed it fresh, with the recording of that attempt one click away.

Tested between and . Each row shows its own test date; a project can change after that day.

28 of 31 tested projects run. 72 more waiting for a test.

In short: 19 of the 31 tested projects started as-is on a fresh machine: harness, jenkins, volkswagen, earthly, gocd, FTP-Deploy-Action, werf, and jx, and 11 more. 9 more started once a stand-in replaced a service they expect, such as a database: concourse, cds, tbls, setup-php, erda, kuberhealthy, pipecd, and github-pages-deploy-action, and 1 more. 3 could not be verified: devops-basics, dagger, and argo-cd; the log shows where each one stopped.

Measured by Argusic on a fresh machine every time. Every number links to its evidence.

#projectverdictArgusic Scorelanguagestarstested on
1harnessRuns100 / 100Go38,500

Harness Open Source is an end-to-end developer platform with Source Control Management, CI/CD Pipelines, Hosted Developer Environments, and Artifact Registries.

What the test found: The gitness server binary builds and runs on localhost:3000 with SQLite, answering HTTP 200 on root, swagger, and login endpoints, and all Go test packages pass. 14 minutes.

2jenkinsRuns100 / 100Java26,626

Jenkins automation server

What the test found: Jenkins 2.584-SNAPSHOT builds from source, passes 203 tests combined across cli and core modules, and runs as a web service on port 8080. 16 minutes.

3volkswagenRuns100 / 100JavaScript15,465

:see_no_evil: Volkswagen detects when your tests are being run in a CI server, and makes them pass.

What the test found: Volkswagen npm package installed and all 6 test files (assert, chai, exit-code, tap, tape, throw) pass with exit code 0; the defeat device intercepts assert, chai, tap, tape, process.exit, and uncaught exceptions when CI environment variables are set. 14 minutes.

4earthlyRuns100 / 100Go12,054

Super simple build framework with fast, repeatable builds and an instantly familiar syntax, like Dockerfile and Makefile had a baby.

What the test found: The earthly CLI compiles from source, all 33 Go packages pass their unit tests, and the binary correctly prints version, help, and all subcommand listings. 3 minutes.

5gocdRuns100 / 100Java7,432

GoCD - Continuous Delivery server main repository

What the test found: GoCD builds successfully with full Java compilation (149 Gradle tasks). The server test suite passes 3362 of 3365 tests across 20+ modules, with only SCM-binary-dependent tests (svn, hg, p4, ant) failing due to missing tools in the container environment, and one pre-existing mock test issue. 42 minutes.

6FTP-Deploy-ActionRuns100 / 100TypeScript5,247

Deploys a GitHub project to a FTP server using GitHub actions

What the test found: The FTP-Deploy-Action repository installed cleanly, its 23 Jest tests all passed, and the ncc build bundled src/main.ts into dist/index.js without errors. 2 minutes.

7werfRuns100 / 100Go4,729

A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.

What the test found: werf builds and all 53 unit test suites pass on Ubuntu 24.04 amd64 (no root, no Docker). CGO tests need CGO_CPPFLAGS=-I/tmp/btrfs-extract/usr/include to find libbtrfs headers. Git global user identity must be set for git_repo tests. 28 minutes.

8jxRuns100 / 100Go4,690

Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Cloud Native pipelines from Tekton

What the test found: Go 1.26.3 installed from upstream tarball; jx CLI binary builds and answers version/help commands; all 7 unit test packages pass. 14 minutes.

9toxRuns100 / 100Python3,943

Command line driven CI frontend and development task automation tool.

What the test found: tox is installed from source at version 0.1.dev1 and its test suite passes 8189 tests across config parsing, provisioning, session management, environment setup, CLI parsing, report formatting, and schema validation. 39 minutes.

10paths-filterRuns100 / 100TypeScript3,357

Conditionally run actions based on files modified by PR, feature branch or pushed commits

What the test found: All 78 tests pass, TypeScript compiles cleanly, and npm pack produces the dist artifact. 3 minutes.

11vps-auditRuns100 / 100Shell3,192

lightweight, dependency-free bash script for security, performance auditing and infrastructure monitoring of Linux servers.

What the test found: vps-audit.sh runs to completion with exit code 0, prints color-coded PASS/WARN/FAIL on 20 security checks, and writes a timestamped report file to disk with no shell errors. 2 minutes.

12create-pull-requestRuns100 / 100TypeScript2,856

A GitHub action to create a pull request for changes to your repository in the actions workspace

What the test found: npm install and npm run build succeed with Node 22.12.0; all 18 unit tests pass; all 50 integration tests pass against a local git daemon serving a multi-commit bare repo; the pre-compiled dist/index.js loads as a valid GitHub Actions module. 15 minutes.

13database-lab-engineRuns100 / 100Go2,775

DBLab enables 🖖 database branching and ⚡️ thin cloning for any Postgres database and empowers DB testing in CI/CD. This optimizes database-related costs while...

What the test found: All 4 Go binaries (dblab-server, dblab, run-ci, rds-refresh) build cleanly, all 56 unit test modules pass, and the CLI binary responds to version and help commands. 9 minutes.

14changed-filesRuns100 / 100TypeScript2,723

:octocat: Github action to retrieve all (added, copied, modified, deleted, renamed, type changed, unmerged, unknown) files and directories.

What the test found: npm install succeeds with --legacy-peer-deps, TypeScript compilation completes with no errors, and all 65 tests pass across 4 test suites. 10 minutes.

15openchoreoRuns100 / 100Go1,633

OpenChoreo is an internal developer platform for Kubernetes

What the test found: OpenChoreo 1.3.0 compiles, all 9 binaries build, all Go unit tests pass, and all Python agent test suites pass inside the container. 44 minutes.

16kumoRuns100 / 100Go1,497

A lightweight AWS service emulator written in Go

What the test found: kumo v0.30.0 binary builds and runs as an AWS service emulator on localhost:4566 with 82+ registered services; internal unit tests pass; server responds correctly to DynamoDB JSON protocol, S3 REST, SQS form-urlencoded, Secrets Manager JSON, health checks, and custom kumo/ endpoints. 58 minutes.

17churn-phpRuns100 / 100PHP1,382

Discover files in need of refactoring.

What the test found: churn-php is installed and fully operational on PHP 8.3.6 (extracted from Ubuntu debs). The app analyzes PHP file churn correctly (10 files analyzed, JSON output valid). The test suite runs: 177 tests pass, 5 fail due to pre-existing Windows path assumptions in FileHelperTest that do not apply on Linux. 41 minutes.

18Tracely-aiRuns80 / 100Python1,515

Trace-native CI/CD for AI agents, production failures become regression tests that block the PR. Auto-detect, cluster, freeze into hermetic cases, replay in CI...

What the test found: Python backend and SDK install, import, and all 1174 pytest tests pass on Python 3.12.3. Frontend installs via pnpm with no errors and next build compiles successfully but OOMs during static page generation (container memory limit). vitest tests require Node 22+ ([email protected] and [email protected]) while this... 43 minutes.

19onedevRuns73.3 / 100Java15,286

The Unified and Autonomous Development Platform

What the test found: OneDev builds and compiles from source with all 86 tests passing, and the server starts on localhost:6610 returning HTTP 200 with the setup initialization page. 38 minutes.

20concourseRuns with mocks92 / 100Go7,913

Concourse is a container-based automation system written in Go. It's mostly used for CI/CD.

What the test found: Concourse binary builds and runs, Go test suites across atc/cmd/fly/skymarshal/tsa/worker packages all pass (except baggageclaim driver tests needing kernel features), Elm source compiles and 509 unit tests verified passing, CSS builds via lessc, npm dependencies installed via yarn. 81 minutes.

21cdsRuns with mocks92 / 100Go4,846

Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform

What the test found: All three CDS binaries (engine, worker, cdsctl) compile and run; 24 Go test packages pass including DB-dependent gorpmapper, cache, websocket, cdn/storage, and all SDK, CLI, worker, and hatchery packages. The api, cdn, hooks, repositories, vcs packages need external PostgreSQL database with migrations and/or VCS... 42 minutes.

22tblsRuns with mocks92 / 100Go4,353

tbls is a CI-Friendly tool to document a database, written in Go.

What the test found: The tbls Go project builds and runs: the binary outputs version 1.96.0, documents a SQLite database producing markdown docs, SVG ER diagrams, and JSON/YAML/Mermaid schema exports, and all non-DB-dependent test packages pass. 44 minutes.

23setup-phpRuns with mocks92 / 100TypeScript3,262

GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.

What the test found: All 9 test suites pass with 605/605 tests passing; npm install and tsc build succeed; the only fix needed was replacing two .toSorted() calls with .sort() for Node 18 compatibility. 6 minutes.

24erdaRuns with mocks92 / 100Go2,757

An enterprise-grade Cloud-Native application platform for Kubernetes.

What the test found: Go 1.24.13 installed from extracted debs, go.mod edited with coreos/bbolt replace, erda-proto-go replace removed (uses remote v1.4.0), volume-provisioner (70 MB binary) builds and runs --help/--providers successfully, and 5 test packages pass: pkg/arrays (0.010s), pkg/goroutinepool (2.507s), pkg/envconf (0.009s)... 39 minutes.

25kuberhealthyRuns with mocks92 / 100Go2,272

A Kubernetes operator for running synthetic checks as pods. Works great with Prometheus!

What the test found: Go binary compiles and all tests pass across cmd/kuberhealthy (16 subtests), internal/kuberhealthy (20+ subtests), internal/metrics (1), pkg/checkclient (2 subtests), and pkg/nodecheck (1). Binary requires a Kubernetes cluster for full launch; test suite uses fakes/mocks and completes successfully. 13 minutes.

26pipecdRuns with mocks92 / 100Go1,362

The One CD for All {applications, platforms, operations}

What the test found: PipeCD Go binaries build and run, 126 Go packages plus all 192 web tests pass, and the controlplane serves HTTP/admin/health endpoints backed by locally stood-up Redis, MinIO, and MariaDB mocks; only the pkg/oci test remains unfixable without a Docker daemon. 50 minutes.

27github-pages-deploy-actionRuns with mocks82 / 100TypeScript4,611

🚀 Automatically deploy your project to GitHub Pages using GitHub Actions. This action can be configured to push your production-ready code into any branch...

What the test found: The TypeScript project builds and all 75 tests pass after installing Node v24.13.0 via nvm; the action itself cannot run end-to-end without a GitHub Actions environment and rsync, but all verifiable unit/integration tests succeed. 5 minutes.

28flagsmithRuns with mocks46 / 100Python6,590

Flagsmith is an open-source feature flag platform with remote config, experimentation, and self-hosted or cloud deployment options.

What the test found: Python API dependencies installed via uv, Django checks pass with custom SQLite backend, 41 API unit tests pass, 719 frontend unit tests pass, npm postinstall env config resolves correctly; full PostgreSQL/ClickHouse dependent test suite cannot run without Docker database services. 40 minutes.

29devops-basicsCould not verify80 / 100Shell1,881

🚀 Practical and document place for DevOps toolchain

What the test found: MkDocs site builds and generates all 40+ topic pages with full Material for MkDocs theme, search, and navigation. 3 minutes.

30daggerCould not verify50 / 100Go16,325

Automation engine to build, test and ship any codebase. Runs locally, in CI, or directly in the cloud

What the test found: Dagger CLI v0.21.9 is installed and responds to help/version commands; 15 Go unit test packages and 13 Python SDK tests pass; the Dagger engine cannot start because no container runtime is available in this environment and user namespaces are blocked. 22 minutes.

31argo-cdCould not verify0 / 100Go24,349

Declarative Continuous Deployment for Kubernetes

What the test found: could not be verified; the log shows where it stopped. 87 minutes.

-moonNot yet tested-Rust4,138-
-linkinatorNot yet tested-TypeScript1,273-
-jreleaserNot yet tested-Java1,240-
-keycloak-config-cliNot yet tested-Java1,206-
-platform-espressif32Not yet tested-Python1,204-
-test-reporterNot yet tested-TypeScript1,185-
-webhookdNot yet tested-Go1,101-
-agentNot yet tested-Go1,090-
-expo-github-actionNot yet tested-TypeScript1,030-
-abstruseNot yet tested-Go961-
-gojenkinsNot yet tested-Go906-
-puppetryNot yet tested-JavaScript888-
-jenkinsapiNot yet tested-Python884-
-ue4-dockerNot yet tested-Python839-
-tempsNot yet tested-Rust826-
-jenkins-libraryNot yet tested-Go822-
-run-on-arch-actionNot yet tested-Shell752-
-build-monitor-pluginNot yet tested-Java727-
-php-censorNot yet tested-PHP687-
-chart-releaser-actionNot yet tested-Shell666-
-ai-development-patternsNot yet tested-Python665-
-xcovNot yet tested-Ruby573-
-devopnessNot yet tested-TypeScript569-
-magic-nix-cache-actionNot yet tested-TypeScript565-
-lychee-actionNot yet tested-Shell517-
-maestro-runnerNot yet tested-Go497-
-platform-ststm32Not yet tested-Python474-
-circleci-cliNot yet tested-Go461-
-actionNot yet tested-TypeScript449-
-miniblueNot yet tested-Go449-
-bundlewatchNot yet tested-JavaScript444-
-elastic-ci-stack-for-awsNot yet tested-Shell440-
-drone-cliNot yet tested-Go436-
-Odevio-CLINot yet tested-Python423-
-jenkins-restNot yet tested-Java414-
-CumulusCINot yet tested-Python401-
-github-act-runnerNot yet tested-Go397-
-kind-actionNot yet tested-Shell381-
-magic-nix-cacheNot yet tested-Rust379-
-docker-ci-automationNot yet tested-Shell358-
-lassoNot yet tested-PHP356-
-github-slug-actionNot yet tested-Shell349-
-gitstreamNot yet tested-JavaScript343-
-kelosNot yet tested-Go336-
-ex_checkNot yet tested-Elixir330-
-actions-template-syncNot yet tested-Shell327-
-k8sNot yet tested-Shell316-
-powerplatform-build-toolsNot yet tested-TypeScript307-
-test-with-actionsNot yet tested-Python306-
-rok8s-scriptsNot yet tested-Shell303-
-continuous-integrationNot yet tested-Python301-
-aws-codebuild-run-buildNot yet tested-JavaScript299-
-industrial_ciNot yet tested-Shell298-
-chart-testing-actionNot yet tested-Shell294-
-cirrus-cliNot yet tested-Go289-
-lockenvNot yet tested-Go284-
-reframeNot yet tested-Python284-
-jenkins-cliNot yet tested-Rust283-
-buildNot yet tested-JavaScript260-
-enolaNot yet tested-C257-
-env-ciNot yet tested-JavaScript242-
-release-downloaderNot yet tested-TypeScript242-
-lazy-birdNot yet tested-Python236-
-glimNot yet tested-Rust234-
-terraform-module-releaserNot yet tested-TypeScript234-
-bitbucket-cliNot yet tested-Go232-
-jumpstarterNot yet tested-Python223-
-ci-detectorNot yet tested-PHP222-
-tecliNot yet tested-Go220-
-compose-actionNot yet tested-TypeScript211-
-autotagNot yet tested-Go207-
-ClausuraNot yet tested-Rust204-

runs installed and started with its real dependencies. runs with mocks started after stand-ins replaced external services such as a database or a third-party API. could not verify neither the standard agent nor the stronger one got it running within the time limit; the log shows where it stopped.

How we tested

On this list as of the latest test: 19 projects ran as-is, 9 with mocks, 3 could not be verified, 72 still waiting. Languages tested: Go, Java, JavaScript, PHP, Python, Shell, TypeScript. Every attempt used a clean single-use machine, the subject at a pinned version, and a 45-minute limit; the complete procedure is on the methodology page.

Frequently asked questions (FAQs)

How is this list ranked?

By measurement, not opinion: projects Argusic installed and launched on a fresh machine come first, then those that ran with mocks in place of external services, then those it could not verify. Ties go to the Argusic Score, then how popular it is on its own source.

Why are some projects unranked?

72 projects are still waiting for a test or for a finished attempt. They are listed without a rank until Argusic has measured them.

Where is the evidence?

Every row links to the project's Argusic page, where each run has a full log and a terminal recording stored with a sha256 fingerprint. The same pages exist for every one of the tested projects, on this list or not.

More lists in this category

All lists: Best. All tested projects: subjects.