BenchCI Architecture¶
BenchCI is designed to enable automated testing of firmware on real hardware.
The system separates responsibilities between a CLI, remote agents, and a licensing backend.
Components¶
BenchCI CLI
The CLI is used by developers and CI systems.
Responsibilities:
load configuration
authenticate with backend
submit runs to agents
collect artifacts
BenchCI Agent
The agent executes hardware tests on machines connected to physical devices.
Responsibilities:
receive test jobs
flash firmware
communicate with devices
produce artifacts
BenchCI Backend
The backend manages licensing and authentication.
Responsibilities:
validate license keys
issue sessions
enforce access control
Execution Flow¶
Developer / CI
│
▼
BenchCI CLI
│
▼
BenchCI Agent
│
▼
Hardware Device
Artifacts¶
BenchCI produces structured artifacts.
transport.log
flash.log
results.json
These artifacts are stored in:
benchci-results/
and may be collected by CI systems.