Reference

Configuration

Riven is configured through .governor.yml. This is where the merge policy lives.

Example policy

yaml
max_hops: 4
impact_relationships: [CALLS]
gate:
  fail_on: [no_unverified_breaking]
verification:
  recommended_jobs: [test]
actions:
  comment: true
  label: true
  require_glab: false
remediation:
  artifact_path: governor-remediation.md
  draft_mr: false
owners:
  codeowners_path: CODEOWNERS
architecture:
  detect_cycles: false
  forbidden_dependencies: []

The important parts

impact_relationships

Usually CALLS. This controls which Orbit edge kinds participate in impact traversal.

gate.fail_on

These conditions decide whether the merge gate exits non-zero. Examples include:

  • no_unverified_breaking
  • no_new_cycles
  • no_layer_violations

verification

Maps paths to recommended jobs and records which jobs should cover a risky change.

actions

Controls optional GitLab-side actions such as comments and labels. Helpful, but not required for the merge gate to work.

architecture

Enables graph-diff checks for newly introduced cycles and forbidden dependency edges between path layers.

See Orbit schema for the graph fields Riven actually reads.