Backline supports CI-friendly outputs for regression policy checks.
Configure thresholds in backline.yml:
policy:
max_newly_failing: 0
max_errored_checks: 0
max_latency_regression_ms: 200Or use named presets on the CLI (overrides config policy when set):
backline run --enforce-policy --policy strict
backline run --enforce-policy --policy warn-only| Preset | max_newly_failing |
max_errored_checks |
max_latency_regression_ms |
|---|---|---|---|
strict |
0 | 0 | unset (no limit) |
warn-only |
unset | unset | unset (no enforcement) |
Then execute:
backline run --enforce-policy --junit-output ./build/backline-policy.xml
backline run --enforce-policy --policy strict --junit-output ./build/backline-policy.xmlBehavior:
- Exit code
0: run completed and policy passed. - Exit code
5: run reached terminal status but policy failed. - Exit code
1/2/3/4: API/runtime/validation timeout paths (non-policy failures).
Use diff baseline options to control comparison target:
backline run --enforce-policy --baseline PREVIOUS_COMPLETED
backline run --enforce-policy --baseline LAST_PASSED
backline run --enforce-policy --baseline FIXED_RUN --baseline-run-id <runId>The same options are available on backline diff.
A starter workflow lives at .github/workflows/backline-ci.yml.
It runs ./gradlew clean test and uploads JUnit artifacts for module tests.