CI Radar
Self-hosted CI failure diagnostics, flaky-test intelligence, incident correlation, and repair workflows.
CI Radar is a self-hosted service for turning CI failures into structured diagnoses. It ingests build events and test reports, groups recurring failures, tracks flaky tests, and exposes the result through a CLI, API, dashboard, alerts, and ChatOps.
The diagnosis engine is deterministic by default. Optional model-backed explanations and repair proposals can be enabled separately.
Quick start
git clone https://github.com/Bluezly/CIRadar.git
cd CIRadar
go build -o ciradar ./cmd/ciradar
./ciradar demo npm-econnresetCreate a local configuration and start the server:
./ciradar init ./ciradar serve
The dashboard listens on 127.0.0.1:8787 by default. On the first sign-in, use the generated admin_token stored in ciradar.json. Keep that token private; after signing in you can create scoped API keys for routine access.
On Windows PowerShell, you can read the generated token with:
(Get-Content .\ciradar.json | ConvertFrom-Json).admin_token
You can also install the CLI directly:
go install github.com/Bluezly/CIRadar/cmd/ciradar@latest
What it handles
- CI failure classification with an explicit
UNKNOWNfallback - recurring incident correlation across jobs and repositories
- JUnit, Playwright, Jest, pytest, Cypress, and Mocha test-result ingestion
- flaky-test history, quarantine, critical-test policy, and impact-aware test selection
- GitHub and GitLab workflow actions
- Slack and Microsoft Teams ChatOps
- notifications, DORA metrics, and CI cost tracking
- embedded storage for local use or PostgreSQL for shared deployments
- optional OIDC, SAML, MCP, embeddings, and model-assisted explanations
CI events can be normalized from GitHub Actions, GitLab CI, Buildkite, CircleCI, Jenkins, Azure DevOps, Bitrise, TeamCity, Travis CI, AWS CodeBuild, Bitbucket Pipelines, Drone, Semaphore, AppVeyor, and Google Cloud Build.
CLI
ciradar analyze build.log ciradar baseline --repo owner/repo successful.log ciradar incidents --json ciradar tests ingest --repo owner/repo --format junit results.xml ciradar tests list --repo owner/repo ciradar tests select --repo owner/repo --changed src/a.go,src/b.go ciradar database check ciradar doctor
Run ciradar help for the complete command list.
Docker
Copy the environment template, generate the required secrets, and create a config:
cp .env.example .env ./ciradar secret key ./ciradar init --config ciradar.json
Set the values in .env, then start the stack:
docker compose up --build
For an internet-facing deployment, put CI Radar behind HTTPS and use PostgreSQL. See Deployment and PostgreSQL.
Documentation
- Configuration
- Architecture
- Connectors
- Test intelligence
- ChatOps
- PostgreSQL
- SSO
- MCP
- Model assistance
- Benchmarking
- Testing
- Limitations
- Development history
Development
make check
make test
make race
make vetPull requests run the same core checks in GitHub Actions, plus PostgreSQL integration, static analysis, vulnerability scanning, and cross-platform builds. See CONTRIBUTING.md.
License
CI Radar is licensed under AGPL-3.0-or-later. See LICENSE.
