CLI y bloqueo en CI
Un único comando sin dependencias inicia una suite, espera el veredicto y sale con un código que tu pipeline entiende. PASS despliega; FAIL bloquea; INCONCLUSIVE lo decides tú.
Instalación
La CLI es un único script de Node 22 sin dependencias, así que se ejecuta directamente desde el repositorio o desde npm:
npx @colvo/cli run --project <project id> --waitConfiguración
| Opción / env | Significado |
|---|---|
| COLVO_API_KEY | Clave de backend (cak_…). Obligatoria. |
| COLVO_API_URL | Por defecto https://colvo.app. |
| --project | Id del proyecto. Obligatorio. |
| --build | Id de la build del agente; por defecto, la del proyecto. |
| --scenarios | Claves de plantilla separadas por comas; por defecto, toda la biblioteca. |
| --repeats | 1–5, por defecto 3. |
| --label | Texto libre que se muestra en la consola (p. ej. el commit). |
| --wait / --no-wait | Espera el veredicto (por defecto) o solo inicia la ejecución. |
| --timeout | Minutos de espera, por defecto 15. |
| --inconclusive-exit | Código de salida para INCONCLUSIVE: 0, 1 o 2 (por defecto). |
Códigos de salida
| Código | Significado |
|---|---|
| 0 | PASS |
| 1 | FAIL: un defecto demostrado; no despliegues |
| 2 | INCONCLUSIVE: no es un defecto demostrado, pero no despliegues a ciegas (configurable) |
| 3 | Error de uso, de API o de timeout (incluido el límite del plan 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 }}" --waitApunta la build a un despliegue de staging de tu agente (una build cuyo endpoint sea la URL de preview) y el bloqueo se ejecutará en cada push. GitLab CI, CircleCI y una shell normal funcionan igual; lo único que importa es el código de salida.