Saltar al contenido principal
Configura Raigal para evaluar pull requests en CI, aplicar reglas de calidad y enviar métricas en tiempo real a tu panel en app.raigal.dev. Al ejecutar raigal init, la CLI detecta tu proveedor de CI y genera el flujo adecuado automáticamente.

Variables de entorno

Configura estas variables en tu entorno de CI: Nota: En GitHub Actions configurado con permissions: id-token: write, los tokens estáticos pueden omitirse porque Raigal valida el runner mediante OIDC criptográfico de GitHub. Aun así, guardar RAIGAL_TOKEN como secreto en el repositorio es recomendable para tener la misma configuración en todas las plataformas.

GitHub Actions

1. Control de calidad en pull requests

Crea .github/workflows/raigal.yml para evaluar pull requests, notificar al panel web y generar informes SARIF opcionales:
Subir informes SARIF a GitHub Code Scanning en repositorios privados requiere GitHub Advanced Security (GHAS) en tu cuenta. En repositorios públicos, GitHub ofrece Code Scanning sin coste adicional.

2. Sincronización al fusionar o cerrar pull requests

Si utilizas la GitHub App oficial de Raigal, este paso no es necesario. La app recibe los webhooks de GitHub y actualiza el panel automáticamente.
Para entornos de CI sin la GitHub App, sincroniza el estado al fusionar o cerrar ramas:

GitLab CI

En .gitlab-ci.yml (autogenerado con raigal init):
Configura RAIGAL_TOKEN en GitLab en Settings > CI/CD > Variables.

Bitbucket Pipelines

En bitbucket-pipelines.yml (autogenerado con raigal init):
Configura RAIGAL_TOKEN en Bitbucket en Repository settings > Repository variables.

Códigos de salida y control de calidad

En todos los proveedores de CI, raigal ci responde de forma consistente:
  • Código de salida 0 (Aprobado): La nota del repositorio es igual o superior a ci.failBelow (por defecto: 70) y no hay ninguna incidencia con severidad error.
  • Código de salida 1 (Bloqueado): La nota cayó por debajo de ci.failBelow o se detectó al menos un hallazgo de severidad error (riesgos de seguridad, errores de sintaxis o inyecciones en prompts).
  • Código de salida 2 (Vencimiento de licencia): Ocurre solo si licensing.onLapse está configurado como "fail-closed" y la licencia temporal venció sin conexión exterior.