gocov documentation¶
gocov tracks your test coverage and puts it where your team already works: a build status and delta on every commit, a diff-coverage comment on every pull request, a gate that can block merges, and a badge for the README. It works with GitHub, Bitbucket Cloud and GitLab, and accepts coverage reports from Go, JavaScript/TypeScript, Java/Kotlin, Python, PHP and Ruby — the format is detected automatically.
Use the hosted service at app.gocov.dev, or run your own instance — same binary, same docs.
Start here¶
- Getting started — sign in, add one CI step, and coverage lands on your next push.
- Wire up your CI — GitHub Actions, GitLab CI, Bitbucket Pipelines, or any other CI.
- Your language — the test command and upload line for each supported ecosystem.
Coming from Codecov or Coveralls? Migrating maps their settings onto gocov's and gives the order that keeps the old tool running until the numbers agree.
Guides¶
| Page | Covers |
|---|---|
| Pull requests | The comment, check run, inline annotations and source view |
| Connect your forge | The one-click connection that turns the PR surfaces on |
| Coverage gate | Minimum/diff/drop rules and making them block merges |
| Parts | Combining reports from separate CI jobs into one per commit |
| Ignoring files | Leaving generated code, mocks and dev tooling out of the numbers |
| Public reports | Read-only report pages anyone can open, for public repos |
| Why coverage changed | Baselines, missing parts, empty diff coverage — the usual surprises |
Reference¶
- CLI — every flag and environment variable of
gocov upload - API & badge — the raw upload endpoint and the SVG badge
Self-hosting¶
Everything about running an instance yourself lives in its own section: production setup, sign-in, forge apps & credentials and the configuration reference. None of it is needed to use gocov.
Conventions¶
Throughout these docs, forge means the code host (Bitbucket Cloud, GitHub or GitLab) and workspace means the namespace gocov tracks — a Bitbucket workspace, a GitHub org or user, or a GitLab group, subgroup (by full path) or user namespace.