.github: switch to codecov.io

coveralls doesn't work from GitHub actions. Its "github" service type
uses the GITHUB_TOKEN from the action, which only has read access when
invoked from a forked repository.

codecov gets this right: it validates that an uploaded coverage file
originated from a GitHub action run by asking GitHub, and then uses its
OAuth credentials (through the Marketplace App) to comment and set
status.

Also, coveralls requires a third-party package to convert go's coverage
report to a format it understands. codecov detects the format
server-side. It also handles go's coverage format better: it highlights
lines with "some coverage" in yellow (coveralls has no concept of this).
This commit is contained in:
Lars Karlitski 2020-03-30 08:49:16 +02:00 committed by Tom Gundersen
parent 7f6d98ef74
commit 144570026d
3 changed files with 8 additions and 10 deletions

View file

@ -40,19 +40,14 @@ jobs:
- name: Install golangci-lint - name: Install golangci-lint
run: curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.23.7 run: curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s -- -b $(go env GOPATH)/bin v1.23.7
- name: Install goveralls
run: GO111MODULE=off go get github.com/mattn/goveralls
- name: Run golangci-lint - name: Run golangci-lint
run: $(go env GOPATH)/bin/golangci-lint run run: $(go env GOPATH)/bin/golangci-lint run
- name: Run unit tests - name: Run unit tests
run: go test -v -race -covermode atomic -coverprofile=profile.cov ./... run: go test -v -race -covermode atomic -coverprofile=coverage.txt ./...
- name: Send coverage to coveralls.io - name: Send coverage to codecov.io
env: run: bash <(curl -s https://codecov.io/bash)
COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: $(go env GOPATH)/bin/goveralls -coverprofile=profile.cov -service=github
old_rpm_build: old_rpm_build:
name: "📦 RPM (golang-github-osbuild-composer)" name: "📦 RPM (golang-github-osbuild-composer)"

3
codecov.yml Normal file
View file

@ -0,0 +1,3 @@
codecov:
require_ci_to_pass: no
comment: no

View file

@ -40,10 +40,10 @@ Stand-alone test binaries also have the `-test.failfast` option.
## Notes on code coverage ## Notes on code coverage
Code coverage is recorded in Code coverage is recorded in
[Coveralls.io](https://coveralls.io/github/osbuild/osbuild-composer). [codecov.io](https://codecov.io/github/osbuild/osbuild-composer).
This information comes only from unit tests and for the time being This information comes only from unit tests and for the time being
we're not concerned with collecting coverage information from integration we're not concerned with collecting coverage information from integration
tests, see `.github/workflows/coverage.yml`. tests, see `.github/workflows/tests.yml`.
## Integration testing ## Integration testing