Draft: Use Go tools handling for gocover package

What does this MR do and why?

Adjusts go.mod to mark the github.com/boumenot/gocover-cobertura package as a tool, which is different from a regular project dependency.

This package is different from other dependencies in that we don't refer to it in any of our own code. It's used directly (via the makefile) when running tests. This meant that running go mod tidy would remove it, which we did not want to actually do.

This change allows us to use go mod tidy without manually re-adding the gocover package afterwards.

This feature was introduced in Go 1.24: https://tip.golang.org/doc/go1.24#tools

Holding as a draft for now; Go 1.24 isn't available in our build env yet.

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  1. Configure a local GitLab Docs environment.
  2. Check out this branch.
  3. Run make go-tests to check that these can still run locally and generate a coverage report (coverage.xml will update after running tests).

Merge request acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Sarah German

Merge request reports

Loading