Skip to content

Commit 25abb79

Browse files
committed
Check test coverage improvement #548
1 parent 869af0f commit 25abb79

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

.github/workflows/test-coverage.yml

+30
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,33 @@ jobs:
6060
name: coverage-test-failures
6161
path: ${{ runner.temp }}/package
6262

63+
- name: Get coverage from main branch
64+
run: |
65+
git fetch origin main
66+
git checkout main -- tests/coverage.rds || true
67+
echo "Fetching main branch coverage data"
68+
69+
- name: Compare coverage and fail on decrease
70+
run: |
71+
Rscript -e '
72+
library(covr)
73+
pr_coverage <- package_coverage()
74+
saveRDS(pr_coverage, "tests/coverage.rds")
75+
76+
if (file.exists("tests/coverage.rds")) {
77+
main_coverage <- readRDS("tests/coverage.rds")
78+
pr_cov <- percent_coverage(pr_coverage)
79+
main_cov <- percent_coverage(main_coverage)
80+
81+
message("Coverage on main: ", main_cov, "%")
82+
message("Coverage on PR: ", pr_cov, "%")
83+
84+
if (pr_cov < main_cov) {
85+
stop("❌ Test coverage decreased! PR coverage: ", pr_cov, "% vs. Main: ", main_cov, "%")
86+
} else {
87+
message("✅ Coverage is maintained or improved.")
88+
}
89+
} else {
90+
message("⚠️ No previous coverage data found. Skipping comparison.")
91+
}
92+

0 commit comments

Comments
 (0)