Update codecov config to support commenting code coverage in PRs

Add missing directory fixing go.etcd.io/etcd/etcdutl/v3/::etcdutl/

Note: we have some of the tests written in a way that is
non-deterministic across runs, thus, even when there is no code changes
there might still have slight variation for test coverage [2]

Reference:
[1] https://github.com/etcd-io/etcd/issues/18131
[2] https://docs.codecov.com/docs/unexpected-coverage-changes#reasons-for-indirect-changes

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
This commit is contained in:
Chun-Hung Tseng 2024-06-07 15:49:56 +02:00
parent 57907746e3
commit 1579c57729
3 changed files with 20 additions and 1 deletions

View File

@ -1,9 +1,11 @@
---
name: Coverage
on: [push]
on: [push, pull_request]
permissions: read-all
jobs:
coverage:
# this is to prevent the job to run at forked projects
if: github.repository == 'etcd-io/etcd'
runs-on: ubuntu-latest
strategy:
fail-fast: false

View File

@ -1,12 +1,17 @@
---
# https://docs.codecov.com/docs/codecovyml-reference
codecov:
token: 6040de41-c073-4d6f-bbf8-d89256ef31e1
disable_default_path_fixes: true
require_ci_to_pass: false
notify:
wait_for_ci: false
fixes:
- go.etcd.io/etcd/api/v3/::api/
- go.etcd.io/etcd/client/v3/::client/v3/
- go.etcd.io/etcd/client/v2/::client/v2/
- go.etcd.io/etcd/etcdctl/v3/::etcdctl/
- go.etcd.io/etcd/etcdutl/v3/::etcdutl/
- go.etcd.io/etcd/pkg/v3/::pkg/
- go.etcd.io/etcd/server/v3/::server/
ignore:
@ -14,3 +19,14 @@ ignore:
- '**/*.pb.gw.go'
- tests/**/*
- go.etcd.io/etcd/tests/**/*
coverage:
range: 60..80
round: down
precision: 2
comment:
layout: "header, files, diff, footer"
behavior: default # default: update, if exists. Otherwise post new; new: delete old and post new
require_changes: false # if true: only post the comment if coverage changes
require_base: false # [true :: must have a base report to post]
require_head: true # [true :: must have a head report to post]
hide_project_coverage: false # [true :: only show coverage on the git diff]

View File

@ -260,6 +260,7 @@ function merge_cov {
merge_cov_files "${coverdir}" "${coverdir}/all.coverprofile"
}
# https://docs.codecov.com/docs/unexpected-coverage-changes#reasons-for-indirect-changes
function cov_pass {
# shellcheck disable=SC2153
if [ -z "${COVERDIR:-}" ]; then