CLI und CI-Gate
Ein einziger Befehl ohne Abhängigkeiten startet eine Suite, wartet auf das Urteil und beendet sich mit einem Code, den Ihre Pipeline versteht. PASS deployt; FAIL blockiert; bei INCONCLUSIVE entscheiden Sie.
Installation
Die CLI ist ein einzelnes Node-22-Skript ohne Abhängigkeiten und läuft daher direkt aus dem Repository oder über npm:
npx @colvo/cli run --project <project id> --waitKonfiguration
| Option / Umgebungsvariable | Bedeutung |
|---|---|
| COLVO_API_KEY | Backend-Schlüssel (cak_…). Erforderlich. |
| COLVO_API_URL | Standard: https://colvo.app. |
| --project | Projekt-ID. Erforderlich. |
| --build | Build-ID des Agenten; standardmäßig der Standard-Build des Projekts. |
| --scenarios | Kommagetrennte Vorlagenschlüssel; Standard: die gesamte Bibliothek. |
| --repeats | 1–5, Standard 3. |
| --label | Freitext, der in der Konsole angezeigt wird (z. B. der Commit). |
| --wait / --no-wait | Auf das Urteil warten (Standard) oder nur starten. |
| --timeout | Wartezeit in Minuten, Standard 15. |
| --inconclusive-exit | Exit-Code für INCONCLUSIVE: 0, 1 oder 2 (Standard). |
Exit-Codes
| Code | Bedeutung |
|---|---|
| 0 | PASS |
| 1 | FAIL – ein nachgewiesener Fehler; nicht deployen |
| 2 | INCONCLUSIVE – kein nachgewiesener Fehler, aber nicht blind deployen (konfigurierbar) |
| 3 | Bedienungs-, API- oder Timeout-Fehler (einschließlich Tariflimit 402) |
GitHub Actions
name: colvo-gate
on: [push]
jobs:
suite:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v4
with: { node-version: 22 }
- name: Run the COLVO suite
env:
COLVO_API_KEY: ${{ secrets.COLVO_API_KEY }}
run: npx @colvo/cli run --project ${{ vars.COLVO_PROJECT_ID }} --label "${{ github.sha }}" --waitRichten Sie den Build auf ein Staging-Deployment Ihres Agenten aus (ein Build, dessen Endpunkt die Preview-URL ist), dann läuft das Gate bei jedem Push. GitLab CI, CircleCI und einfache Shells funktionieren genauso; es zählt nur der Exit-Code.