# GitLab CI Integration BenchCI integrates hardware testing into CI pipelines. The CI runner triggers the CLI which submits jobs to a remote agent connected to hardware. --- ## Architecture ``` GitLab Runner │ ▼ BenchCI CLI │ ▼ BenchCI Agent │ ▼ Hardware Device ``` --- ## Required CI Variables Configure these variables: ``` BENCHCI_LICENSE BENCHCI_AGENT_URL BENCHCI_AGENT_TOKEN ``` Example: ``` BENCHCI_LICENSE=BCI-XXXXXX BENCHCI_AGENT_URL=http://bench-machine:8080 BENCHCI_AGENT_TOKEN=secure-token ``` --- ## Example Pipeline Example `.gitlab-ci.yml` ``` stages: - hardware_test benchci-test: stage: hardware_test image: python:3.11 before_script: - pip install benchci-0.1.0-py3-none-any.whl script: - benchci login --license-key "$BENCHCI_LICENSE" - benchci run -b board.yaml -s suite.yaml -a build/fw.elf --agent "$BENCHCI_AGENT_URL" --token "$BENCHCI_AGENT_TOKEN" artifacts: when: always paths: - benchci-results/ ```