Skip to content

ci: code coverage job - #4122

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

ci: code coverage job#4122
victorapm wants to merge 19 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 CUDA builds Allows to triggers (costly) CUDA jobs label 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
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 CUDA builds Allows to triggers (costly) CUDA 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.

1 participant