raigal init automatically detects your repository’s CI provider and scaffolds your workflow file without guesswork.
Environment variables
Provide these variables in your CI runner environment:
Note: In GitHub Actions jobs configured with
permissions: id-token: write, static tokens can be omitted because Raigal validates the runner using zero-token cryptographic GitHub OIDC directly. Configuring RAIGAL_TOKEN as a repository secret is still recommended for multi-platform consistency.
GitHub Actions
1. Hardened pull request check
Create.github/workflows/raigal.yml to evaluate pull requests, report results to your dashboard, and optionally generate SARIF annotations:
Uploading SARIF reports to GitHub Code Scanning on private repositories requires GitHub Advanced Security (GHAS) enabled on your GitHub enterprise account. On public repositories, GitHub Code Scanning is provided at no additional cost by GitHub.
2. Pull request close and merge sync
If you use the official Raigal GitHub App, this step is unnecessary. The app receives
pull_request.closed webhook events directly from GitHub and updates your remediation board automatically.GitLab CI
In.gitlab-ci.yml (auto-generated by raigal init):
RAIGAL_TOKEN in GitLab under Settings > CI/CD > Variables.
Bitbucket Pipelines
Inbitbucket-pipelines.yml (auto-generated by raigal init):
RAIGAL_TOKEN in Bitbucket under Repository settings > Repository variables.
Quality gate exit codes and thresholds
In all CI providers,raigal ci behaves deterministically:
- Exit code 0 (Pass): The overall repository score is at or above
ci.failBelow(default: 70), and zeroerror-severity findings are present. - Exit code 1 (Block): The score dropped below
ci.failBelow, or one or moreerror-severity findings (security risks, syntax errors, or prompt injections) were detected. - Exit code 2 (Licensing lapse): Occurs only if
licensing.onLapseis configured as"fail-closed"and offline lease verification has expired without network access.