CI Evaluation `ci/eval/`
Location:
ci/eval/
Platform: Nix
Purpose: Project configuration validation Latest Version: 0.0.5-1
Overview
The CI evaluation module provides Nix-based validation of the project structure and configuration. It catches errors in build files before they reach CI.
What It Validates
| Component | Checks |
|---|---|
| CMake | Syntax, target definitions |
| vcpkg | Dependency declarations |
| Nix | Flake structure, expressions |
| Build | Cross-platform configuration |
Quick Usage
Validate Everything
nix-build ci -A eval.full
Validate Specific Component
nix-build ci -A eval.cmake
nix-build ci -A eval.vcpkg
nix-build ci -A eval.nix
Quick Test Mode
nix-build ci -A eval.validate --arg quickTest true
Supported Systems
| System | Platform |
|---|---|
x86_64-linux |
Linux 64-bit |
x86_64-darwin |
macOS Intel |
aarch64-darwin |
macOS Apple Silicon |
x86_64-windows |
Windows (cross) |
Limit to Specific System
nix-build ci -A eval.full --arg systems '["x86_64-linux"]'
Configuration Validation
CMake Files
CMakeLists.txt— Main configurationcmake/*.cmake— CMake modulesCMakePresets.json— Build presets
Dependencies
vcpkg.json— vcpkg dependenciesvcpkg-configuration.json— vcpkg settings
Nix Build
flake.nix— Flake definitiondefault.nix— Default expressionshell.nix— Development shell
CI Integration
Evaluation runs in .github/workflows/eval.yml:
- name: Evaluate
run: |
nix-build --expr 'let
pkgs = import <nixpkgs> {};
eval = (import ./ci/eval { inherit (pkgs) lib runCommand cmake nix jq; }) {};
in eval.full'
Local Replication
NIX_PATH=nixpkgs=channel:nixos-unstable \
nix-build --expr 'let
pkgs = import <nixpkgs> {};
eval = (import ./ci/eval { inherit (pkgs) lib runCommand cmake nix jq; }) {};
in eval.full'
cat result/summary.md
Related Documentation
- Workflows — CI overview
- CI Support — Support files
- Nix Packaging — Nix build system
Was this handbook page helpful?
Last updated: February 19, 2026
Edit on GitHub