Next-generation Nix CI system for clowns
- Rust 69.7%
- Nix 20.2%
- HTML 6.3%
- PLpgSQL 2%
- CSS 1.8%
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ib47aeafee9474f491cfebddd3fa935826a6a6964 |
||
|---|---|---|
| crates | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
FC
FC is a modern, Rust-based continuous integration system designed to replace Hydra for our systems. Heavily work in progress.
Architecture
- server: Web API and UI (Axum)
- evaluator: Git polling and Nix evaluation
- queue-runner: Build dispatch and execution
- common: Shared types and utilities
Development
nix develop
cargo build
Components
Server
Web API server providing REST endpoints for project management, jobsets, and build status.
Evaluator
Periodically polls Git repositories and evaluates Nix expressions to create builds.
Queue Runner
Processes build queue and executes Nix builds on available machines.