Skip to content

ci: code coverage job - #4122

Open
victorapm wants to merge 20 commits into
developfrom
feature/paludettomag1/coverage
Open

ci: code coverage job#4122
victorapm wants to merge 20 commits into
developfrom
feature/paludettomag1/coverage

Conversation

@victorapm

@victorapm victorapm commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Replace the gcov + external Codecov upload with a repository-owned LLVM source-coverage pipeline.

The CI coverage job now:

  1. builds with Clang instrumentation
  2. runs an expanded coverage smoke suite
  3. validates coverage against checked-in repository thresholds (branches: 50% | lines: 70% | functions: 75%)
  4. publishes HTML report as GitHub artifact (7-day retention)
  5. generates advisory changed-code coverage for the exact PR base and head commits.

This also adds unit tests and coverage smoke cases to improve GEOS coverage.

Register 12 coverage-only solver scenarios for MPM, contact, hydrofracture, proppant, reactive transport, and phase field. Isolate outputs for safe 12-way CTest execution.\n\nVerified CPU-local line coverage: 73.7% (127243/172646), up 8.06 points.
Add 13 coverage-only scenarios for induced seismicity, embedded fractures, poromechanics, thermo-poromechanics, VEM, orthotropic mechanics, and wellbores.\n\nVerified CPU-local line coverage: 76.9285% (132814/172646), up 11.29 points from baseline.
Add 18 coverage-only scenarios for specialized flow, wells, constitutive drivers, stabilized poromechanics, PML, FEM, PEBI/VTK import, multi-body output, and phase field.\n\nVerified CPU-local line coverage: 80.7102% (139343/172646), up 15.0742 points from baseline.
Register high-impact serial and MPI smoke scenarios across flow, wells, contact, mesh, output, and partitioning paths.

Add compact ordered overlays for the three multiscale-preconditioner cases and account for MPI ranks in twelve-way CTest scheduling.

Verified at 86.084821% lines on the local CPU coverage build.
Exercise order-2 acoustic DG through one timestep and initialize the order-3 tetrahedral formulation with an ordered setup-only overlay.

This covers 15,590 additional function instances and raises clean CPU function coverage from 35.118363% to 41.075680%.
Exercise the explicit BufferOps and StandardArrays wrapper matrices, add VTK and multiscale transfer coverage, and correct coarse multidimensional cell-transfer bounds.

Verified on the CPU coverage build at 172,170/267,363 functions (64.395597%) using --parallel 12.
@victorapm victorapm self-assigned this Aug 17, 2026
@victorapm victorapm added the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Aug 17, 2026
@victorapm victorapm added the flag: no rebaseline Does not require rebaseline label Aug 17, 2026
@victorapm victorapm added the ci: run code coverage enables running of the code coverage CI jobs label Aug 17, 2026
@herve-gross

Copy link
Copy Markdown
Contributor

@sushma-4 this may have an impact for you. Can you take a look?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: run code coverage enables running of the code coverage CI jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants