ENGINEERING

GitLab dependency MR auto-triage by affected-test blast radius

When a dependency-bump merge request opens in GitLab, it maps which tests and modules the changed packages actually touch, scores the blast radius.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerwebhook
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab MR opened with dependency-bump labelGitLabGitLab
  • ActionParse lockfile diff for bumped packages and semver deltaGitLabGitLab
  • ActionResolve affected modules and covering tests from dependency graphPostgreSQLPostgres
  • LogicScore blast radius: safe vs needs-review
  • ActionApply label and assign reviewer if riskyGitLabGitLab
  • OutputPost affected-tests summary comment on the MRGitLabGitLab

What it does

Every dependency-bump MR (Renovate, Dependabot, or hand-pushed) gets an automatic blast-radius assessment instead of sitting in the review queue. The workflow figures out which source files import the bumped package, which test files cover those files, and turns that into a risk score and a GitLab label.

When to use it

Run this when a flood of automated dependency MRs is drowning your reviewers and you want the trivial ones (patch bumps to leaf dev-deps) to self-clear while the risky ones (a core runtime library used in 40 modules) get flagged loudly.

How it works

  1. 1A GitLab merge-request webhook fires when an MR with a dependency-bump label is opened or updated.
  2. 2The workflow reads the changed lockfile entries to extract each bumped package and its semver delta.
  3. 3It queries a Postgres dependency-graph table to resolve every internal module that imports each package, then maps those modules to their covering test files.
  4. 4A logic step scores blast radius from import count, semver jump, and whether any production entrypoint is in the path.
  5. 5Below threshold it applies a `dep:safe` label and approves; above threshold it applies `dep:needs-review` and assigns a human.
  6. 6A summary comment is posted back on the MR listing affected modules and tests.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.