Skip to content

CI: shard coverage across 4 jobs + combine - #1795

Merged
jlnav merged 5 commits into
developfrom
fix/coverage-sharding
Oct 29, 2026
Merged

jlnav merged 5 commits into
developfrom
fix/coverage-sharding

Conversation

@jlnav

@jlnav jlnav commented Oct 16, 2026

Copy link
Copy Markdown
Member

Split canonical coverage suite (-l -m -e --coverage) round-robin across 4 matrix shards using --shard INDEX/4 (existing external sharding). Shard 0 runs unit+regression slice, shards 1-3 regression-only to avoid duplicating unit runtime.

Each shard stages .cov*/.coverage* via find+cp --parents into cov_staging and uploads as coverage-data-N. New coverage-combine job downloads all shards, flat-copies into libensemble/tests, runs coverage combine + coverage xml, and uploads single coverage.xml to codecov. Cuts ~3-4x wall time; union is exact (105 standalone files round-robin, no gap/overlap).

Also mirrors timings per-shard for debugging.

@jlnav
jlnav added this pull request to stack #1796 October 16, 2026 16:26
@jlnav
jlnav force-pushed the fix/coverage-sharding branch from f4a3cfa to f6eebc5 Compare October 19, 2026 13:15
@jlnav
jlnav force-pushed the fix/coverage-sharding branch 2 times, most recently from ad6476e to 50790c3 Compare October 20, 2026 15:39
Base automatically changed from fix/service-mode-rebase to develop October 28, 2026 19:41
@jlnav
jlnav force-pushed the fix/coverage-sharding branch from 50790c3 to ea26647 Compare October 28, 2026 19:41
jlnav added 2 commits October 29, 2026 09:51
Split canonical coverage suite (-l -m -e --coverage) round-robin
across 4 matrix shards using --shard INDEX/4 (existing external
sharding). Shard 0 runs unit+regression slice, shards 1-3
regression-only to avoid duplicating unit runtime.

Each shard stages .cov*/.coverage* via find+cp --parents into
cov_staging and uploads as coverage-data-N. New coverage-combine
job downloads all shards, flat-copies into libensemble/tests,
runs coverage combine + coverage xml, and uploads single
coverage.xml to codecov. Cuts ~3-4x wall time; union is exact
(105 standalone files round-robin, no gap/overlap).

Also mirrors timings per-shard for debugging.
@jlnav
jlnav force-pushed the fix/coverage-sharding branch from ea26647 to a1eb259 Compare October 29, 2026 14:51
@codecov

codecov Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.95%. Comparing base (018d57a) to head (303e333).
⚠️ Report is 18 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1795      +/-   ##
===========================================
- Coverage    88.99%   88.95%   -0.04%     
===========================================
  Files           74       74              
  Lines         8793     8795       +2     
  Branches      1420     1421       +1     
===========================================
- Hits          7825     7824       -1     
- Misses         721      723       +2     
- Partials       247      248       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

jlnav added 2 commits October 29, 2026 14:52
The previous pattern '-name .cov* -o -name .coverage*' matched
.coveragerc (via .coverage* prefix), causing coverage-combine to
try to combine config files as sqlite databases (file is not a
database). Switch to precise patterns (.cov_*, .coverage, .coverage.*)
and explicitly exclude .coveragerc and .cov_merge_out* in both
staging and combine. Also fix ls/find display to use .cov_*.
@jlnav
jlnav merged commit 0d896ea into develop Oct 29, 2026
24 of 25 checks passed
@jlnav
jlnav deleted the fix/coverage-sharding branch October 29, 2026 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant