Brimyr mark Brimyr

Gate a pull request on the coverage of the lines it changed, not your whole backlog. Point Brimyr at any repo and it detects the ecosystem, runs your tests, and gates on patch coverage.

v1 Marketplace Apache-2.0 No SaaS
a Magma Moose product · Apache-2.0 open source
// what it does

Gate the change. Leave the backlog alone.

Requiring 80% coverage on a whole legacy codebase is a non-starter; ignoring new code lets it rot. Brimyr holds the lines a PR changed to a bar, and leaves the back-catalogue alone.

Patch coverage, not project

The gate is the coverage of the executable lines this PR changed, diffed against the merge-base. A repo at 61% never fails a well-tested change.

It detects the ecosystem

Python, JavaScript/TypeScript, .NET and Java. Brimyr picks the right test command with coverage on, and merges one report per language for polyglot repos.

It runs your tests

No bring-your-own coverage report. One composite action runs the suite, computes patch coverage and gates, all on your runner. No SaaS account.

Small diffs say so

Under the 20-line minimum, the threshold is not applied, and the comment says exactly that, instead of passing quietly like a team would never notice.

Broken run is not 0%

A failed, timed-out or empty test run is a tool error that turns the build red. It is never reported as 0% patch coverage that hard-fails the gate.

SonarQube, optional

Set a URL and token and Brimyr ships coverage and quality to SonarQube for the trend. Non-blocking: a Sonar outage is a warning, never a gate failure.

Chargate mark

Brimyr is quality assurance; Chargate is security assurance. Twins, not competitors: Chargate gates the security findings a PR introduces, Brimyr gates the coverage of what it changed. A repo wants both.

// quickstart

One action. That is the whole config.

On PRs it runs your tests with coverage, gates on patch coverage, and posts one comment updated in place. On push to the default branch it runs a non-gating baseline that still feeds the trend.

1. Add the action 2. Pick a threshold 3. Open a PR
.github/workflows/coverage.yml
steps:
  # Brimyr checks out with fetch-depth: 0 by default;
  # patch coverage needs the merge-base.
  - uses: magmamoose/brimyr@v1
    with:
      threshold: '80'  # gate on patch coverage
      # sonar_url: https://sonar.example.com  (optional, non-blocking)

Cover the change. Not the debt.

Free and open source, Apache-2.0 licensed. Runs entirely on your runner, with no server to host and no SaaS account.