Skip to content

Add Go example for the test coverage visualization feature

What does this MR do?

This commit adds a Go/Golang based .gitlab-ci.yml example to demonstrate the coverage visualization feature. It uses go test for test execution and coverage profiling while gocover-cobertura is used for creating Cobertura XML report.

We use this feature in combination with Go since quite a while and it works rather well. However, due to the nature of Go's coverage profiling, getting it to work is not that trivial. That's why an example like this could already help.

This example has been validated within a test project (see fh1ch/hello-inline-coverage-golang!3 (diffs)) and is also pretty much identically in use within the gitlab-org/gitlab-runner project (see https://gitlab.com/gitlab-org/gitlab-runner/-/blob/main/Makefile#L146).

Related issues

Author's checklist

If you are only adding documentation, do not add any of the following labels:

  • ~"frontend"
  • ~"backend"
  • ~"type::bug"
  • ~"database"

These labels cause the MR to be added to code verification QA issues.

Review checklist

Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.

  • If the content requires it, ensure the information is reviewed by a subject matter expert.
  • Technical writer review items:
    • Ensure docs metadata is present and up-to-date.
    • Ensure the appropriate labels are added to this MR.
    • If relevant to this MR, ensure content topic type principles are in use, including:
      • The headings should be something you'd do a Google search for. Instead of Default behavior, say something like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure GDK.
      • Any task steps should be written as a numbered list.
      • If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
  • Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
  • Ensure a release milestone is set.
Edited by Fabio Huser

Merge request reports