ENGINEERING

Warehouse merged-MR coverage and module deltas nightly

On a nightly schedule, it collects coverage and affected-module data from the day's merged MRs and writes per-module trend rows to Postgres for dashboards and regression alerts.

CategoryEngineering
Enginesim
Difficultyadvanced
Triggerschedule
Steps5
Setup~25 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule
  • ActionList MRs merged in last 24hGitLabGitLab
  • ActionFetch coverage and changed files per MRGitLabGitLab
  • ActionCompute per-module coverage and ownershipShell
  • OutputUpsert module trend rows to PostgresPostgreSQLPostgres

What it does

This workflow builds the historical record behind the inline MR notes. Each night it gathers every merge request that merged that day, pulls each one's final coverage report and affected-module map, and writes one row per module per MR into a Postgres warehouse table. Over time this powers coverage-trend dashboards and lets you spot modules that are quietly losing coverage.

When to use it

Use it once your team is posting coverage and module data on individual MRs and now wants the aggregate view: which modules are trending down, which teams ship the riskiest changes, and how coverage moves week over week.

How it works

  1. 1A nightly schedule triggers the run.
  2. 2The workflow queries the GitLab API for MRs merged in the last 24 hours.
  3. 3For each MR it fetches the final coverage report and changed-file list.
  4. 4A shell step computes per-module coverage and ownership for every merged MR.
  5. 5It upserts per-module trend rows into the Postgres warehouse, keyed by date, project, and module.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitLabRepos, MRs, pipelines, registry.
  2. 2
    Connect ShellRun sandboxed commands inside the workspace.
  3. 3
    Connect PostgresAny Postgres URL — query, write, migrate.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    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.