Diff coverage and merge gates on Bitbucket, GitHub and GitLab — plus line annotations right in the Bitbucket and GitHub diff view. Self-host it free, or let us run it.
Bitbucket · GitHub · GitLab
Free for public repos · self-host in a minute: docker compose up — migrations apply themselves.
if err := tx.Commit(); err != nil { return fmt.Errorf("commit: %w", err)}
Self-hosted, there's no signup and no seats to count. Run the server, claim your workspace, point CI at it.
One container plus Postgres. Migrations apply automatically on boot.
Sign in with your forge and claim your org, group or workspace in the UI. One token for all of it — repos register themselves on first upload.
The CLI auto-detects GitHub Actions, Bitbucket Pipelines and GitLab CI.
Codecov and Coveralls are GitHub-first. Anywhere else you get the side-port: no per-line annotations in the diff view and a thinner integration. Bitbucket Cloud has no native coverage view either — the request below has been open since 2022.
As of August 2026, gocov is the only coverage product that posts per-line annotations inside the Bitbucket Cloud PR diff.Not another dashboard to check — results land inside the pull request.
Changed lines are intersected with coverage; a comment lists what's untested. Re-uploads update the same comment — no stacking.
Per-repo minimums for total and diff coverage plus a drop tolerance. Violations fail the commit status, so branch protection can block the PR.
GitHub check runs, Bitbucket Code Insights report cards and diff-coverage comments on GitLab merge requests — with inline annotations on uncovered changed lines right in the GitHub and Bitbucket diff views.
Every file renders with coverage overlay and hit counts, fetched from the forge at the exact commit and cached immutably.
A coverage trend chart per branch — rendered server-side, no JS chart library — and an SVG badge per repo for your README.
Web UI sign-in with Bitbucket, GitHub and GitLab, restricted to members of the orgs you track. No passwords ever stored. One-click workspace connect.
Same product either way — pick the operations model that fits.
Public repos are free on hosted, forever — fair use, no upload limits. An active committer is anyone who commits to a covered private repo in the last 30 days.
gocov is a single Go binary in front of Postgres. Run it yourself and no vendor gets your source, your coverage, or your commit metadata. On hosted we store coverage and commit metadata — never your source. The architecture is deliberately extensible: formats, forges and blob storage sit behind interfaces.