mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-24 21:56:43 +00:00
add codecov
This commit is contained in:
parent
7d0d84d5ce
commit
157d8e67f8
3 changed files with 94 additions and 2 deletions
63
.github/workflows/unit_tests.yml
vendored
Normal file
63
.github/workflows/unit_tests.yml
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
name: Unit Tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
unit_tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '1.21'
|
||||||
|
|
||||||
|
- name: Run unit tests
|
||||||
|
run: go run build/ci.go test -coverage
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: coverage
|
||||||
|
path: coverage.out
|
||||||
|
|
||||||
|
upload-coverage:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: unit_tests
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: 1.21
|
||||||
|
|
||||||
|
# Download all coverage reports from the 'tests' job
|
||||||
|
- name: Download coverage reports
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
|
||||||
|
- name: Set GOPATH
|
||||||
|
run: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Add GOPATH/bin to PATH
|
||||||
|
run: echo "GOBIN=$(go env GOPATH)/bin" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Install gocovmerge
|
||||||
|
run: go get github.com/wadey/gocovmerge && go install github.com/wadey/gocovmerge
|
||||||
|
|
||||||
|
- name: Merge coverage reports
|
||||||
|
run: gocovmerge $(find . -type f -name '*profile.out') > coverage.txt
|
||||||
|
|
||||||
|
- name: Check coverage report lines
|
||||||
|
run: wc -l coverage.txt
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Check coverage report files
|
||||||
|
run: ls **/*profile.out
|
||||||
|
continue-on-error: true
|
||||||
|
|
@ -285,7 +285,7 @@ func doTest(cmdline []string) {
|
||||||
coverage = flag.Bool("coverage", false, "Whether to record code coverage")
|
coverage = flag.Bool("coverage", false, "Whether to record code coverage")
|
||||||
verbose = flag.Bool("v", false, "Whether to log verbosely")
|
verbose = flag.Bool("v", false, "Whether to log verbosely")
|
||||||
race = flag.Bool("race", false, "Execute the race detector")
|
race = flag.Bool("race", false, "Execute the race detector")
|
||||||
short = flag.Bool("short", false, "Pass the 'short'-flag to go test")
|
short = flag.Bool("short", false, "Pass the 'short'-flag to go test")
|
||||||
cachedir = flag.String("cachedir", "./build/cache", "directory for caching downloads")
|
cachedir = flag.String("cachedir", "./build/cache", "directory for caching downloads")
|
||||||
)
|
)
|
||||||
flag.CommandLine.Parse(cmdline)
|
flag.CommandLine.Parse(cmdline)
|
||||||
|
|
@ -314,7 +314,7 @@ func doTest(cmdline []string) {
|
||||||
// and some tests run into timeouts under load.
|
// and some tests run into timeouts under load.
|
||||||
gotest.Args = append(gotest.Args, "-p", "1")
|
gotest.Args = append(gotest.Args, "-p", "1")
|
||||||
if *coverage {
|
if *coverage {
|
||||||
gotest.Args = append(gotest.Args, "-covermode=atomic", "-cover")
|
gotest.Args = append(gotest.Args, "-covermode=atomic", "-cover", "-coverprofile=coverage.out")
|
||||||
}
|
}
|
||||||
if *verbose {
|
if *verbose {
|
||||||
gotest.Args = append(gotest.Args, "-v")
|
gotest.Args = append(gotest.Args, "-v")
|
||||||
|
|
|
||||||
29
codecov.yml
Normal file
29
codecov.yml
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
coverage:
|
||||||
|
precision: 2
|
||||||
|
round: down
|
||||||
|
status:
|
||||||
|
project:
|
||||||
|
default:
|
||||||
|
target: 60%
|
||||||
|
threshold: 1% # allow this much decrease on project
|
||||||
|
patch:
|
||||||
|
default:
|
||||||
|
target: 70%
|
||||||
|
|
||||||
|
comment:
|
||||||
|
layout: "reach,diff,flags,tree,betaprofiling"
|
||||||
|
behavior: default # update if exists else create new
|
||||||
|
require_changes: true
|
||||||
|
|
||||||
|
ignore:
|
||||||
|
- "docs"
|
||||||
|
- "cmd"
|
||||||
|
- "tests"
|
||||||
|
- "swarm"
|
||||||
|
- "**/testdata"
|
||||||
|
- "lib/blocktest"
|
||||||
|
- "lib/cmdtest"
|
||||||
|
- "lib/testlog"
|
||||||
|
- "**/*pb*.go"
|
||||||
|
- "**/gen_*.go"
|
||||||
|
- "**/*.md"
|
||||||
Loading…
Reference in a new issue