diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 30b5077979c324c2c4038799a84d1d7f5be70f73..6a90ca0ae4f3eac66b9325c40cf52f6d1e4d93ac 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,7 +18,12 @@ test: stage: test image: golang:1.15 script: - - go test -v -cover -coverprofile=cover.out ./... + # The following monstruosity is required to generate a single coverage + # result statement for the entire package, but without generating build + # errors due to multiple definition of flags in cmd/ tools. + # See also https://github.com/golang/go/issues/27333 + - go test -v -cover -coverpkg=$(go list ./... | grep -v /cmd/) -coverprofile=cover.out ./... + # Convert coverage output to XML for Gitlab integration. - (cd /tmp && go get github.com/boumenot/gocover-cobertura) - gocover-cobertura < cover.out > cover.xml artifacts: