Overview
The ORCA Quality Gate is a GitHub Action that runs data quality scans as part of your CI/CD pipeline. It scans a connected data source, evaluates the quality score against a configurable threshold, and posts results as a PR comment. Use it to prevent merging code that degrades data quality.Quick start
Add the action to any workflow file in.github/workflows/:
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
api-key | Yes | — | ORCA API key (store as a repository secret) |
api-url | Yes | — | ORCA instance URL |
source-id | Yes | — | UUID of the data source to scan |
table | No | all tables | Specific table to scan |
min-score | No | 80 | Minimum quality score to pass (0-100) |
fail-on-critical | No | true | Fail the step if any critical alerts are found |
Outputs
| Output | Description |
|---|---|
quality-score | The quality score from the scan (0-100) |
alerts-count | Total number of alerts found |
result-url | Link to results in the ORCA dashboard |
Using outputs in subsequent steps
PR comment
On pull request events, the action automatically posts (or updates) a comment on the PR with scan results:Pass/fail behavior
The action exits with code 1 (fails the step) when either condition is met:- Score threshold: Quality score is below
min-score - Critical alerts: Any critical-severity alerts exist and
fail-on-criticalistrue
Examples
Scan a specific table
Matrix strategy for multi-source scanning
Scan multiple data sources in parallel:Warn without failing
Setmin-score to 0 and fail-on-critical to false to run the scan and post the PR comment without blocking the build:
Scheduled quality check
Run quality scans on a cron schedule outside of PRs:How it works
- Sets up Python 3.11 and installs
orca-cli - Runs
orca scan --wait --format jsonagainst the specified source - Parses the JSON output to extract the quality score and alerts
- Sets GitHub Action outputs (
quality-score,alerts-count,result-url) - On pull request events, posts or updates a Markdown comment on the PR
- Exits with code 0 (pass) or 1 (fail) based on thresholds
Secrets setup
Store your ORCA credentials as GitHub repository secrets:- Go to Settings > Secrets and variables > Actions
- Add
ORCA_API_KEYwith your ORCA API key - Add
ORCA_API_URLwith your ORCA instance URL (e.g.https://api.orca-klavest.app) - Optionally add
ORCA_SOURCE_IDif you want to reference it as a secret