goveralls - Go integration for Coveralls.io continuous code coverage tracking system.

Overview

goveralls

Go integration for Coveralls.io continuous code coverage tracking system.

Installation

goveralls requires a working Go installation (Go-1.2 or higher).

$ go get github.com/mattn/goveralls

Usage

First you will need an API token. It is found at the bottom of your repository's page when you are logged in to Coveralls.io. Each repo has its own token.

$ cd $GOPATH/src/github.com/yourusername/yourpackage
$ goveralls -repotoken your_repos_coveralls_token

You can set the environment variable $COVERALLS_TOKEN to your token so you do not have to specify it at each invocation.

You can also run this reporter for multiple passes with the flag -parallel or by setting the environment variable COVERALLS_PARALLEL=true (see coveralls docs for more details).

Continuous Integration

There is no need to run go test separately, as goveralls runs the entire test suite.

Github Actions

shogo82148/actions-goveralls is available on GitHub Marketplace. It provides the shorthand of the GitHub Actions YAML configure.

name: Quality
on: [push, pull_request]
jobs:
  test:
    name: Test with Coverage
    runs-on: ubuntu-latest
    steps:
    - name: Set up Go
      uses: actions/[email protected]
      with:
        go-version: '1.13'
    - name: Check out code
      uses: actions/[email protected]
    - name: Install dependencies
      run: |
        go mod download
    - name: Run Unit tests
      run: |
        go test -race -covermode atomic -coverprofile=covprofile ./...
    - name: Install goveralls
      env:
        GO111MODULE: off
      run: go get github.com/mattn/goveralls
    - name: Send coverage
      env:
        COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      run: goveralls -coverprofile=covprofile -service=github
    # or use shogo82148/actions-goveralls
    # - name: Send coverage
    #   uses: shogo82148/[email protected]
    #   with:
    #     path-to-profile: covprofile

Test with Legacy GOPATH mode

If you want to use Go 1.10 or earlier, you have to set GOPATH environment value and the working directory. See https://github.com/golang/go/wiki/GOPATH for more detail.

Here is an example for testing example.com/owner/repo package.

name: Quality
on: [push, pull_request]
jobs:
  test:
    name: Test with Coverage
    runs-on: ubuntu-latest
    steps:
      - name: Set up Go
        uses: actions/[email protected]
        with:
          go-version: '1.10'

      # add this step
      - name: Set up GOPATH
        run: |
          echo "GOPATH=${{ github.workspace }}" >> "$GITHUB_ENV"
          echo "${{ github.workspace }}/bin" >> "$GITHUB_PATH"

      - name: Check out code
        uses: actions/[email protected]
        with:
          path: src/example.com/owner/repo # add this
      - name: Run Unit tests
        run: |
          go test -race -covermode atomic -coverprofile=covprofile ./...
        working-directory: src/example.com/owner/repo # add this
      - name: Install goveralls
        env:
          GO111MODULE: off
        run: go get github.com/mattn/goveralls
      - name: Send coverage
        env:
          COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: goveralls -coverprofile=covprofile -service=github
        working-directory: src/example.com/owner/repo # add this

Travis CI

GitHub Integration

Enable Travis-CI on your github repository settings.

For a public github repository put bellow's .travis.yml.

language: go
go:
  - tip
before_install:
  - go get github.com/mattn/goveralls
script:
  - $GOPATH/bin/goveralls -service=travis-ci

For a public github repository, it is not necessary to define your repository key (COVERALLS_TOKEN).

For a private github repository put bellow's .travis.yml. If you use travis pro, you need to specify -service=travis-pro instead of -service=travis-ci.

language: go
go:
  - tip
before_install:
  - go get github.com/mattn/goveralls
script:
  - $GOPATH/bin/goveralls -service=travis-pro

Store your Coveralls API token in Environment variables.

COVERALLS_TOKEN = your_token_goes_here

or you can store token using travis encryption keys. Note that this is the token provided in the page for that specific repository on Coveralls. This is not one that was created from the "Personal API Tokens" area under your Coveralls account settings.

$ gem install travis
$ travis encrypt COVERALLS_TOKEN=your_token_goes_here --add env.global

travis will add env block as following example:

env:
  global:
    secure: xxxxxxxxxxxxx

For others:

$ go get github.com/mattn/goveralls
$ go test -covermode=count -coverprofile=profile.cov
$ goveralls -coverprofile=profile.cov -service=travis-ci

Drone.io

Store your Coveralls API token in Environment Variables:

COVERALLS_TOKEN=your_token_goes_here

Replace the go test line in your Commands with these lines:

$ go get github.com/mattn/goveralls
$ goveralls -service drone.io

goveralls automatically use the environment variable COVERALLS_TOKEN as the default value for -repotoken.

You can use the -v flag to see verbose output from the test suite:

$ goveralls -v -service drone.io

CircleCI

Store your Coveralls API token as an Environment Variable.

In your circle.yml add the following commands under the test section.

test:
  pre:
    - go get github.com/mattn/goveralls
  override:
    - go test -v -cover -race -coverprofile=/home/ubuntu/coverage.out
  post:
    - /home/ubuntu/.go_workspace/bin/goveralls -coverprofile=/home/ubuntu/coverage.out -service=circle-ci -repotoken=$COVERALLS_TOKEN

For more information, See https://coveralls.zendesk.com/hc/en-us/articles/201342809-Go

Semaphore

Store your Coveralls API token in Environment Variables:

COVERALLS_TOKEN=your_token_goes_here

More instructions on how to do this can be found in the Semaphore documentation.

Replace the go test line in your Commands with these lines:

$ go get github.com/mattn/goveralls
$ goveralls -service semaphore

goveralls automatically use the environment variable COVERALLS_TOKEN as the default value for -repotoken.

You can use the -v flag to see verbose output from the test suite:

$ goveralls -v -service semaphore

Jenkins CI

Add your Coveralls API token as a credential in Jenkins (see Jenkins documentation).

Then declare it as the environment variable COVERALLS_TOKEN:

pipeline {
    agent any
    stages {
        stage('Test with coverage') {
            steps {
                sh 'go test ./... -coverprofile=coverage.txt -covermode=atomic'
            }
        }
        stage('Upload to coveralls.io') {
            environment {
                COVERALLS_TOKEN     = credentials('coveralls-token')
            }
            steps {
                sh 'goveralls -coverprofile=coverage.txt'
            }
        }
    }
}

See also related Jenkins documentation.

It is also possible to let goveralls run the code coverage on its own without providing a coverage profile file.

TeamCity

Store your Coveralls API token in Environment Variables:

COVERALLS_TOKEN=your_token_goes_here

Setup build steps:

$ go get github.com/mattn/goveralls
$ export PULL_REQUEST_NUMBER=%teamcity.build.branch%
$ goveralls -service teamcity -jobid %teamcity.build.id% -jobnumber %build.number%

goveralls will automatically use the environment variable COVERALLS_TOKEN as the default value for -repotoken.

You can use the -v flag to see verbose output.

Gitlab CI

Store your Coveralls API token as an Environment Variable named COVERALLS_TOKEN.

test:
  timeout: 30m
  stage: test
  artifacts:
    paths:
      - coverage.txt
  dependencies:
    - build:env
  when: always
  script:
    - go test -covermode atomic -coverprofile=coverage.txt ./...
    - go get github.com/mattn/goveralls
    - goveralls -service=gitlab -coverprofile=coverage.txt

Coveralls Enterprise

If you are using Coveralls Enterprise and have a self-signed certificate, you need to skip certificate verification:

$ goveralls -insecure

Authors

  • Yasuhiro Matsumoto (a.k.a. mattn)
  • haya14busa

License

under the MIT License: http://mattn.mit-license.org/2016

Comments
  • coveralls with github actions

    coveralls with github actions

    I have tried to integrate coveralls into github actions and run into several issues:

    • Actions support is not documented anywhere. It is unclear what -service to pass if any
    • I think the proper setup requires the user to export GIT_BRANCH and (maybe) GIT_TAG. Without it, goveralls thinks the build was for a detached head
    export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
    export GIT_TAG="${GITHUB_REF/refs\/tags\//}"
    if [[ "$GIT_TAG" != "$GITHUB_REF" ]]; then
       export GIT_BRANCH=$GIT_TAG
    fi
    
    • Long Ids from actions (i.e. DFF1E976041AF8B5B09349FABC9882E9E5B813D1) are too long and goveralls doesn't show them nice on some resolutions . Maybe we can just take a substring short enough to make it nicer looking but long to be unique enough?
    opened by umputun 18
  • Unable to run on multiple packages

    Unable to run on multiple packages

    I am unable to use this tool with multiple packages

    goveralls -package ./... XXXXXXXXXXXX cannot use test profile flag with multiple packages error: %v exit status 1 17:58:08 gocov.go:132: Error loading gocov results: exit status 1

    opened by usmanismail 18
  • Discrepancy between gocov/go test -coverprofile and goveralls

    Discrepancy between gocov/go test -coverprofile and goveralls

    I'm trying to use Goveralls to report on my test coverage but I seem to be getting wildly different coverage values depending on which tool I run and how I run it.

    I hope I'm doing something wrong or misunderstanding how to use goveralls and would appreciate some help. Thanks in advance.

    Using go test

    go test -coverprofile=cover.out
    # removed for brevity
    PASS
    coverage: 90.2% of statements
    ok      github.com/NickPresta/gowave/wave   0.409s
    

    90.2% coverage

    I also have a cover.out file in the current directory that allows me to do go tool cover -html=cover.out and everything looks correct.

    Using gocov

    gocov test | gocov report
    # removed for brevity
    github.com/NickPresta/gowave/wave        ---------------------------     90.20% (368/408)
    

    90.2% coverage again. Awesome.

    Using goveralls

    $ goveralls skal80cDbbobV3oSWMYAQpnf3Bwsa2WOy
    ok      github.com/NickPresta/gowave/wave   0.407s
    Job #9.1
    https://coveralls.io/jobs/933643
    

    goveralls (or Coveralls) seem to think that the coverage percentage is 93.76% which makes no sense.

    Using goveralls with gocov JSON

    $ gocov test > out.json
    ok      github.com/NickPresta/gowave/wave   0.431s
    $ goveralls -gocovdata=out.json skal80cDbbobV3oSWMYAQpnf3Bwsa2WOy
    Job #11.1
    https://coveralls.io/jobs/933646
    

    This still reports that I have 93.76% coverage, which is wrong, despite gocov still thinking it is 90.2%:

    $ gocov report out.json
    github.com/NickPresta/gowave/wave        ---------------------------     90.20% (368/408)
    

    Using goveralls with go test -coverprofile

    $ goveralls -coverprofile=goveralls.out skal80cDbbobV3oSWMYAQpnf3Bwsa2WOy
    Job #14.1
    https://coveralls.io/jobs/933650
    

    Goveralls (or Coveralls) seems to think here that I have 79.27% coverage, which is even more strange.

    Extra Info

    Goveralls version: 2bc52d4d83a9049cc72b50c46042b201e4da93ca Gocov version: a683f3072f5f857b3cdbb7c19551824a24ca0403 Go version: 1.2 My package: https://github.com/NickPresta/gowave

    Also interesting is that the total number of lines seem to fluctuate on Coveralls between runs, which is also incorrect, depending on the source.

    opened by nickpresta 12
  • cannot use test profile flag with multiple packages

    cannot use test profile flag with multiple packages

    Hello all.

    I used goveralls to build coverage reports for my repository in Travis-CI and Coveralls, and it worked good right up to the present day (even yesterday).

    Unfortunately the latest build failed with an error:

    $ $HOME/gopath/bin/goveralls -service=travis-ci ./...
    exit status 1: cannot use test profile flag with multiple packages
    

    I assure that everything worked before it and there was no any major changes in the project structure. Thank you for considering my request.

    UPD: I've repaired my CI with the plenty of new tools (along with goveralls). If anyone run into this issue too, have a look at my .travis.yml

    opened by vitalyisaev2 11
  • Crashes with bogus

    Crashes with bogus "flag redefined" panic

    Steps to reproduce:

    • Fetch mvdan/sh at this commit: https://github.com/mvdan/sh/commit/24105a888955c3a3c655107ccf4b79b84e4a0357
    • Run goveralls (latest version) inside the root of the repo
    exit status 1: warning: no packages being tested depend on github.com/mvdan/sh/cmd/gosh
    warning: no packages being tested depend on github.com/mvdan/sh/interp
    /tmp/go-build510370213/github.com/mvdan/sh/cmd/shfmt/_test/shfmt.test flag redefined: p
    panic: /tmp/go-build510370213/github.com/mvdan/sh/cmd/shfmt/_test/shfmt.test flag redefined: p
    
    goroutine 1 [running]:
    flag.(*FlagSet).Var(0xc4200480c0, 0x623ae0, 0xc4200127aa, 0x56c48d, 0x1, 0x5738ad, 0x26)
            /home/mvdan/tip/src/flag/flag.go:793 +0x415
    flag.(*FlagSet).BoolVar(0xc4200480c0, 0xc4200127aa, 0x56c48d, 0x1, 0xc420035e00, 0x5738ad, 0x26)
            /home/mvdan/tip/src/flag/flag.go:566 +0x70
    flag.(*FlagSet).Bool(0xc4200480c0, 0x56c48d, 0x1, 0x623400, 0x5738ad, 0x26, 0x51b7fc)
            /home/mvdan/tip/src/flag/flag.go:579 +0x7f
    flag.Bool(0x56c48d, 0x1, 0xc42000a300, 0x5738ad, 0x26, 0xc42000a3a0)
            /home/mvdan/tip/src/flag/flag.go:586 +0x5e
    github.com/mvdan/sh/cmd/gosh.init()
            github.com/mvdan/sh/cmd/gosh/_obj/main.go:16 +0x92
    main.init()
            <autogenerated>:1 +0x5f
    FAIL    github.com/mvdan/sh/cmd/shfmt   0.003s
    

    Happens on Travis too: https://travis-ci.org/mvdan/sh/jobs/220619066

    needs-triage 
    opened by mvdan 9
  • Exit 1 with no output on travis-ci with go1.14

    Exit 1 with no output on travis-ci with go1.14

    Example: https://travis-ci.org/github/go-cmd/cmd/jobs/740620242

    But the same build on go1.13 works fine.

    .travis.yml:

    language: go
    sudo: false
    
    os:
      - linux
      - windows
    
    go:
      - "1.13"
      - "1.14"
    
    before_install:
      - go mod vendor
      - go get github.com/mattn/goveralls
    script:
      - $GOPATH/bin/goveralls -service=travis-ci -race -show -debug
    

    Also originally had -path github.com/go-cmd/cmd but removed to see if that made a difference (it didn't).

    No output even with -debug seems to suggest it's not even running?

    needs-triage 
    opened by daniel-nichter 8
  • gocover.go:58: Profile FileName is different

    gocover.go:58: Profile FileName is different

    I'm trying to integrate coveralls for my project https://github.com/littledot/mockhiato/pull/10 However, I am getting the following error on Travis.

    $ $HOME/gopath/bin/goveralls -service=travis-ci
    08:33:53 gocover.go:58: Profile FileName is different
    

    This is reproducible locally as well. Do you know what causes this error?

    opened by littledot 8
  • Fix undercounting of coverage for lines in multiple blocks.

    Fix undercounting of coverage for lines in multiple blocks.

    The coverprofile format uses both lines and columns. It can report coverage for the same line across multiple blocks, if the column ranges do not overlap. The coverage counts should be summed, not assigned.

    Here is an example:

    c.go

    package c
    
    func False() bool { return false }
    
    func F() int {
        if False() {
            return 1
        }
        return 2
    }
    

    c_test.go

    package c
    
    import "testing"
    
    func TestF(t *testing.T) { F() }
    
    

    The return 1 is never tested, but the call to False() is tested.

    The coverprofile is:

    mode: set
    test/c/c.go:3.19,3.35 1 1
    test/c/c.go:5.14,6.13 1 1
    test/c/c.go:9.2,9.10 1 1
    test/c/c.go:6.13,8.3 1 0
    

    Line 6, the condition of the if-statement, is accounted for in two blocks. The first refers to the statement False(), the second refers to the beginning { of the block. The count of 0 for the un-covered return 1 was over-writing the count of 1 for the covered False(), causing the coverage to be under-counted.

    Fixes #61

    opened by eaburns 8
  • Drone.io builds stopped working

    Drone.io builds stopped working

    Hi,

    Today my Drone.io builds using goveralls stopped working. You can check the output.

    Is it fixable on my side or something broke while implementing changes for Go 1.2 tools support?

    Thank you!

    opened by tchap 8
  • Not Supported by Github Actions

    Not Supported by Github Actions

    There is an error here when trying to use with default GitHub actions.

    https://github.com/mattn/goveralls/blob/master/gocover.go#L25

    The issue is that GitHub Actions checks the code out into a non-GOPATH location.

    I have to force a checkout of the code into a GOPATH location, and then coveralls runs. Notice the commands to go get my own repo. This is different than the default Golang runners they have, which errors (I had to bypass it).

    https://github.com/eduncan911/github-actions/blob/master/.github/workflows/go.yml

    opened by eduncan911 7
  • Adding branch coverage support

    Adding branch coverage support

    Hi @mattn, we're rolling out branch coverage support for Coveralls.io and have landed it in two other integration libraries:

    Node: https://github.com/nickmerwin/node-coveralls/commit/d571dac62547f487b3862aca8bf367e95957d904

    Python: https://github.com/coveralls-clients/coveralls-python/pull/145

    There are more details about the new branches parameter here: https://coveralls.zendesk.com/hc/en-us/articles/201350799-API-Reference

    I wanted to get it on your radar now in case you or another maintainer has spare time to add this support to goveralls.

    Thank you!

    wontfix 
    opened by nickmerwin 7
  • go mod tidy -compat=1.17

    go mod tidy -compat=1.17

    I tryed to run go mod tidy, because the dependency cannot resolve like below.

    go: downloading github.com/mattn/goveralls v0.0.11
    panic: internal error: can't find reason for requirement on golang.org/x/[email protected]
    
    opened by mocyuto 0
  • got 500 on running with `-parallel-finish` option in circleci

    got 500 on running with `-parallel-finish` option in circleci

    The coveralls return 500 when goveralls is executed with -parallel-finish option. I describe the issue with a simplified example as follows.

    jobs:
       coverage:
          - run: goveralls -parallel xxxxx
        coverage-finish:
          - run: goveralls -parallel-finish
    
    workflows:
       coverage-workflow:
           jobs:
              - coverage:
                     name: coverage-foo
              - coverage:
                     name: coverage-bar      
              - coverage-finish:
                 - requires:
                       - coverage-foo
                       - coverage-bar
    

    Job coverage-foo and coverage-bar submit the coverage report concurrently, and the job coverage-finish marks the coverage submit as done once the former two jobs finish.

    In CircleCI, the coverage-finish job fails with an response status code of 500 from coveralls.io server.

    opened by hftsin 0
  • Multiple travis CI builds against the same PR are failed by coveralls.io on a public repo

    Multiple travis CI builds against the same PR are failed by coveralls.io on a public repo

    We have been hitting a goveralls build failure where the coveralls.io api returns a failure for a different build on the same PR on a CI build in travis with a below error response:

    bad response status from coveralls: 422
    {"message":"service_job_id (571646577) must be unique for Travis Jobs not supplying a Coveralls Repo Token","error":true}
    

    This check seems to have been introduced recently. The first build passes but any subsequent one fails (for example adding a commit to the PR after review fixes).

    AFAIK this is because goveralls uses the TRAVIS_JOB_ID which remains same for subsequent CI builds on the same PR. The TRAVIS_BUILD_ID however is unique for each subsequent build on the same PR.

    image

    A full build log of the above is available here

    I did try forcing my goveralls invocation in my CI script to use the TRAVIS_BUILD_ID instead of TRAVIS_JOB_ID, something like COVERALLS_SERVICE_JOB_ID=$TRAVIS_BUILD_ID, but it did not work, error pasted below:

    bad response status from coveralls: 422
    {"message":"Travis API Error: #\u003cCoveralls::Mash message=\"The job(251255975) couldn't be found\"\u003e. ","error":true}
    

    A full build log of the above is available here

    It seems coveralls.io keeps the build details based on the travis job id.

    I also contemplated using the coveralls repo token, but coveralls.io does not give me a token for public github repos.

    Any recommended solution or a workaround will be of huge help; our CI is sort of broken because of this

    The list of available TRAVIS default env vars are available here.

    opened by irfanurrehman 1
  • Comment Job execution link as a comment to the PR

    Comment Job execution link as a comment to the PR

    Hi 👋

    Great Action! Thanks :)

    I integrated it to my workflow and it works great. I am trying to comment into the PR chat the link to the codecoverage website. Maybe this could be a nice addition for this too.

    Code except

    
        - name: Send coverage
          id: send-coverage
          env:
            COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          run: |
            goveralls -coverprofile=covprofile -service=github > code_coverage_link
            coverage="$(cat code_coverage_link)"
            echo "::set-output name=coverage::$coverage"
         
        - name: Find Comment
          uses: peter-evans/[email protected]
          id: fc
          with:
            token: ${{secrets.GOVERNANCE_BOT_TOKEN}}
            issue-number: ${{ github.event.pull_request.number }}
            comment-author: 'carbonautMustache'
            body-includes: Code coverage link
    
        - name: Create or update comment
          uses: peter-evans/[email protected]
          with:
            token: ${{secrets.GOVERNANCE_BOT_TOKEN}}
            comment-id: ${{ steps.fc.outputs.comment-id }}
            issue-number: ${{ github.event.pull_request.number }}
            body: |
              Code coverage link: ${{ steps.send-coverage.outputs.coverage }}
            edit-mode: replace
    
    

    I am unable to retrieve the link and only get this output: 'Code coverage link: Job #2250989753.1' no idea how to get the website link.. I looked into the API defenition but could find a way to http request it.

    The link is printed to the action execution but I am unable to store it in a variable..

    Any ideas? Thanks!

    I am happy to document this in this repo's readme if that's interesting

    Cheers Leo

    opened by leonardpahlke 7
  • Travis CI failing to find goveralls on latest go version

    Travis CI failing to find goveralls on latest go version

    Travis CI is failing with the tip for go and passes with the same config using 1.13.x. It shows that it can't find the goveralls command.

    The env:

    go version devel go1.18-3bbc82371e Sat Oct 2 17:29:46 2021 +0000 linux/amd64
    $ export GOPATH="/home/travis/gopath"
    $ export PATH="/home/travis/gopath/bin:/home/travis/.gimme/versions/go/bin:/home/travis/bin:/home/travis/bin:/home/travis/.local/bin:/usr/local/lib/jvm/openjdk11/bin:/opt/pyenv/shims:/home/travis/.phpenv/shims:/home/travis/perl5/perlbrew/bin:/home/travis/.nvm/versions/node/v8.12.0/bin:/home/travis/.rvm/gems/ruby-2.5.3/bin:/home/travis/.rvm/gems/[email protected]/bin:/home/travis/.rvm/rubies/ruby-2.5.3/bin:/home/travis/gopath/bin:/home/travis/.gimme/versions/go1.11.1.linux.amd64/bin:/usr/local/maven-3.6.3/bin:/usr/local/cmake-3.12.4/bin:/usr/local/clang-7.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/travis/.rvm/bin:/home/travis/.phpenv/bin:/opt/pyenv/bin:/home/travis/.yarn/bin"
    $ export GO111MODULE="on"
    $ go version
    go version devel go1.18-3bbc82371e Sat Oct 2 17:29:46 2021 +0000 linux/amd64
    $ go get golang.org/x/tools/cmd/cover
    $ go get github.com/mattn/goveralls
    

    The error:

    $ goveralls -coverprofile=coverage.out -service=travis-ci -repotoken $COVERALLS_TOKEN
    No command 'goveralls' found, did you mean:
     Command 'coveralls' from package 'ruby-coveralls' (universe)
    goveralls: command not found
    The command "goveralls -coverprofile=coverage.out -service=travis-ci -repotoken $COVERALLS_TOKEN" exited with 127.
    
    opened by saheljalal 1
Releases(v0.0.11)
  • v0.0.11(Sep 21, 2021)

  • v0.0.10(Sep 21, 2021)

  • v0.0.9(May 25, 2021)

    • Fix lint warnings #197
    • Fix broken build for old version of Go #196
    • Reduce build.Import calls when importing files from relative root #195
    • Update Coveralls documentation link #193
    Source code(tar.gz)
    Source code(zip)
  • v0.0.8(Feb 27, 2021)

    • bump up actions/[email protected]
    • use file commands instead of deprecated commands
    • update the example in README
    • Merge pull request #178 from shogo82148/remove-deprecated-github-actions
    • Add example on how to use it on Jenkins
    • Use groovy as language identifier
    • Merge pull request #179 from mattn/jenkins-docs
    • Add -uploadsource command-line option to allow disabling uploading source to goveralls.io
    • Add test for uploadsource
    • Allow debugging webhook request
    • Merge pull request #180 from mattn/bugfix/range-panic
    • Use exit code 2 for unknown extra flags error
    • Merge pull request #181 from mattn/feat/debug-all
    • Add teamcity docs
    • Only build on Travis with latest Go version
    • Merge pull request #184 from mattn/docs-teamcity
    • Merge pull request #186 from mattn/ci/reduce-travis-build-time
    • Introduce GIT_* environment variables to specify git metadata
    • Merge pull request #188 from mattn/fix/git-fetch-and-env
    • Parallelize all tests, remove multiple binaries creation (#189) …
    • Add support for Jenkins multibranch projects environment variables
    • Merge pull request #190 from mattn/more/jenkins-vars
    • Add gitlab support
    • Replace example for gitlab
    • Add CI_MERGE_REQUEST_ID to pr number
    • Merge pull request #192 from agamm/add-gitlab-support
    Source code(tar.gz)
    Source code(zip)
  • v0.0.7(Sep 8, 2020)

  • v0.0.6(May 26, 2020)

Owner
mattn
Long-time Golang user&contributor, Google Dev Expert for Go, and author of many Go tools, Vim plugin author. Windows hacker C#/Java/C/C++
mattn
A Go recursive coverage testing tool

roveralls A Go recursive coverage testing tool. roveralls runs coverage tests on a package and all its sub-packages. The coverage profile is output as

Lawrence Woodman 19 Sep 26, 2022
Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform

CDS: Continuous Delivery Service CDS is an Enterprise-Grade Continuous Delivery & DevOps Automation Platform written in Go(lang). This project is unde

OVHcloud 4k Dec 8, 2022
Drone is a Container-Native, Continuous Delivery Platform

Drone is a Continuous Delivery system built on container technology. Drone uses a simple YAML configuration file, a superset of docker-compose, to def

drone.io 26.1k Dec 6, 2022
Gototal-cobertura - A Go utility that reports the total code coverage from a cobertura XML code coverage report

gototal-cobertura A Go utility that reports the total code coverage from a cober

Gordon Gere 2 Jul 26, 2022
Go Coverage in Shell: a tool for exploring Go Coverage reports from the command line

Go Coverage in Shell: a tool for exploring Go Coverage reports from the command line

Yury Fedorov 252 Nov 26, 2022
A Distributed Continuous Integration System from MongoDB

Evergreen Evergreen is a distributed continuous integration system built by MongoDB. It dynamically allocates hosts to run tasks in parallel across ma

Evergreen 370 Nov 28, 2022
:jeans:Multi-Package go project coverprofile for tools like goveralls

Package overalls Package overalls takes multi-package go projects, runs test coverage tests on all packages in each directory and finally concatenates

Go Playgound 112 Sep 26, 2022
An open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developersAn open-source, distributed, cloud-native CD (Continuous Delivery) product designed for developers

Developer-oriented Continuous Delivery Product ⁣ English | 简体中文 Table of Contents Zadig Table of Contents What is Zadig Quick start How to use? How to

null 0 Oct 19, 2021
octocov is a tool for collecting code metrics (code coverage, code to test ratio and test execution time).

octocov is a tool for collecting code metrics (code coverage, code to test ratio and test execution time).

Ken’ichiro Oyama 151 Dec 5, 2022
A Comprehensive Coverage Testing System for The Go Programming Language

goc 中文页 | goc is a comprehensive coverage testing system for The Go Programming Language, especially for some complex scenarios, like system testing c

Qiniu Cloud 600 Dec 2, 2022
Bitrise step to parse a JaCoCo generated report and output the code coverage percentages to be used by other steps.

JaCoCo Report Parser This step parses a JaCoCo generated XML report in the jacoco_report_path and outputs the coverage percentages in a String format

Thomas Horta 0 Dec 6, 2021
🎄 Go code coverage to SVG treemap

?? Go cover to Treemap Useful when you have large project with lots of files and packages $ go install github.com/nikolaydubina/[email protected]

Nikolay Dubina 141 Nov 29, 2022
A Continuous Delivery system built on container technology

Drone is a Continuous Delivery system built on container technology. Drone uses a simple yaml configuration file, a superset of docker-compose, to def

null 0 Sep 29, 2021
Ots - The Bhojpur OTS is a software-as-a-service product used as an Object Tracking System based on Bhojpur.NET Platform for application delivery.

Bhojpur OTS - Object Tracking System The Bhojpur OTS is a software-as-a-service product used as an Object Tracking System based on Bhojpur.NET Platfor

Bhojpur Consulting 0 Sep 26, 2022
🔥 Continuous profiling platform — debug performance issues in your code!

Pyroscope is an open source continuous profiling platform.

Pyroscope 6.7k Dec 6, 2022
A Go recursive coverage testing tool

roveralls A Go recursive coverage testing tool. roveralls runs coverage tests on a package and all its sub-packages. The coverage profile is output as

Lawrence Woodman 19 Sep 26, 2022
The portal gates to coverage reports

Covergates - Portal Gates to Coverage Reports Purpose Covergates is to make the easiest way to setup a self-hosted coverage report service. It's an al

Covergates 53 Nov 17, 2022
go-carpet - show test coverage in terminal for Go source files

go-carpet - show test coverage for Go source files To view the test coverage in the terminal, just run go-carpet. It works outside of the GOPATH direc

Sergey Mudrik 232 Nov 26, 2022
Coverage testing tool for The Go Programming Language

gocov Coverage reporting tool for The Go Programming Language Installation go get github.com/axw/gocov/gocov Usage There are currently four gocov comm

Andrew Wilkins 787 Dec 5, 2022
Hsuan-Fuzz: REST API Fuzzing by Coverage Level Guided Blackbox Testing

Hsuan-Fuzz: REST API Fuzzing by Coverage Level Guided Blackbox Testing Architecture Usage package main import ( restAPI "github.com/iasthc/hsuan-

Chung-Hsuan Tsai 20 Nov 30, 2022