For Go projects that consist of only one package, the following Travis configuration is enough to get started with coveralls.io. You may want to encrypt your $COVERALLS_TOKEN
via Travis encryption keys though.
language: go
go:
- 1.3.1
env:
global:
- PATH=$HOME/gopath/bin:$PATH
install:
- go get code.google.com/p/go.tools/cmd/cover github.com/mattn/goveralls github.com/modocache/gover
script:
- go test -coverprofile=.coverprofile .
- goveralls -coverprofile=.coverprofile -service=travis-ci -repotoken $COVERALLS_TOKEN
As of now (version 1.3.1) go tool does not support creating combined coverage profiles for multiple packages. A workaround may be to run go test
separately for each package and combine the profiles into one; in order to achieve that go list
can be used for globing test packages and creating the test command strings and gover command for concatenating the profiles.
language: go
go:
- 1.3.1
env:
global:
- PATH=$HOME/gopath/bin:$PATH
install:
- go get code.google.com/p/go.tools/cmd/cover github.com/mattn/goveralls github.com/modocache/gover
script:
- go list -f '{{if len .TestGoFiles}}"go test -coverprofile={{.Dir}}/.coverprofile {{.ImportPath}}"{{end}}' ./... | xargs sh -c
- gover
- goveralls -coverprofile=gover.coverprofile -service=travis-ci -repotoken $COVERALLS_TOKEN