ENGINEERING

Post test-coverage delta on each GitLab MR

After CI uploads a coverage report, it compares the MR's coverage against the target branch baseline and posts the per-module delta as a merge-request note, flagging any drop.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerwebhook
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitLab MR pipeline succeeded webhookGitLabGitLab
  • ActionDownload coverage artifactGitLabGitLab
  • ActionRead target-branch baselinePostgreSQLPostgres
  • ActionCompute per-module coverage deltaShell
  • LogicClassify improved, flat, or regressed
  • OutputPost coverage-delta note on MRGitLabGitLab

What it does

This workflow turns raw coverage artifacts into a readable signal on the merge request. When the MR pipeline finishes, it pulls the new coverage report, compares it to the stored baseline for the target branch, and posts a note showing total and per-module coverage deltas. A net decrease is called out explicitly so reviewers don't have to dig through CI logs.

When to use it

Use it when your team wants coverage trends visible inline on the MR rather than buried in pipeline output, and you want a gentle nudge (not a hard gate) when a change reduces coverage.

How it works

  1. 1A GitLab pipeline-success webhook fires for the MR pipeline.
  2. 2The workflow downloads the coverage artifact from the pipeline.
  3. 3It reads the stored target-branch baseline from Postgres (keyed by project and branch).
  4. 4A shell step computes total and per-module coverage deltas.
  5. 5A logic step labels the result as improved, flat, or regressed.
  6. 6It posts the coverage-delta summary as an MR note and updates the baseline when the MR merges.

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.