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 name: Coverage
on: [push] on: [push, pull_request]
permissions: read-all permissions: read-all
jobs: jobs:
coverage: coverage:
# this is to prevent the job to run at forked projects
if: github.repository == 'etcd-io/etcd'
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false

View File

@ -1,12 +1,17 @@
--- ---
# https://docs.codecov.com/docs/codecovyml-reference
codecov: codecov:
token: 6040de41-c073-4d6f-bbf8-d89256ef31e1 token: 6040de41-c073-4d6f-bbf8-d89256ef31e1
disable_default_path_fixes: true disable_default_path_fixes: true
require_ci_to_pass: false
notify:
wait_for_ci: false
fixes: fixes:
- go.etcd.io/etcd/api/v3/::api/ - go.etcd.io/etcd/api/v3/::api/
- go.etcd.io/etcd/client/v3/::client/v3/ - go.etcd.io/etcd/client/v3/::client/v3/
- go.etcd.io/etcd/client/v2/::client/v2/ - go.etcd.io/etcd/client/v2/::client/v2/
- go.etcd.io/etcd/etcdctl/v3/::etcdctl/ - 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/pkg/v3/::pkg/
- go.etcd.io/etcd/server/v3/::server/ - go.etcd.io/etcd/server/v3/::server/
ignore: ignore:
@ -14,3 +19,14 @@ ignore:
- '**/*.pb.gw.go' - '**/*.pb.gw.go'
- tests/**/* - tests/**/*
- go.etcd.io/etcd/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" merge_cov_files "${coverdir}" "${coverdir}/all.coverprofile"
} }
# https://docs.codecov.com/docs/unexpected-coverage-changes#reasons-for-indirect-changes
function cov_pass { function cov_pass {
# shellcheck disable=SC2153 # shellcheck disable=SC2153
if [ -z "${COVERDIR:-}" ]; then if [ -z "${COVERDIR:-}" ]; then