Skip to content

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

Open
jlnav wants to merge 1 commit into
fix/service-mode-rebasefrom
fix/coverage-sharding
Open

jlnav wants to merge 1 commit into
fix/service-mode-rebasefrom
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.

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
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