Conversation
Measure the existing CPU tests and GPU checks with coverage.py. Combine CI results into portable Cobertura XML with the source revision, and document local collection and report retrieval. Signed-off-by: Trent Nelson <trentn@nvidia.com>
Keep regular CI free of coverage instrumentation. Add a separate manual workflow with CPU collection and optional GPU collection, and record the selected profile alongside the report. Signed-off-by: Trent Nelson <trentn@nvidia.com>
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Call the coverage workflow in one dedicated CPU job while keeping the regular test matrix uninstrumented. Require its report to succeed and retain optional manual GPU collection. Signed-off-by: Trent Nelson <trentn@nvidia.com>
Build xDR with optional GCC instrumentation and exercise native FITS reads, decompression, and pooled buffer ownership. Run this coverage once on vetted CI pushes and include portable reports for static analysis alongside the Python coverage artifact. Signed-off-by: Trent Nelson <trentn@nvidia.com>
Use the io extra for the native coverage job to avoid installing PyTorch and visualization dependencies that its tests do not use. Signed-off-by: Trent Nelson <trentn@nvidia.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI currently produces no measured coverage for static analysis. Add one
dedicated Python 3.12 CPU coverage pass per CI run and one native xDR GPU
coverage pass on vetted CI pushes. The regular test matrix stays
uninstrumented. CI requires the applicable coverage jobs and report upload
to succeed.
The workflow publishes portable Cobertura reports with the tested revision
and collection profile. Native coverage uses an isolated GCC build and real
FITS-read, decompression, and buffer-ownership tests on an L40G runner.
Manual runs can also include Python GPU parity tests and quickstarts.
Contributor instructions cover local collection and report import.
Validated locally: 15 native GPU tests passed with measured execution in all
three xDR C++ files; the xDR CPU suite passed 286 tests. Repository hooks and
the source build passed. The Python coverage job and artifact transfer were
also verified in hosted CI. The earlier full CPU run passed 2,787 tests with
40 expected Astropy FITS-keyword warnings. The pinned CFITSIO dependency
also emits upstream GCC warnings during compilation.
Native coverage measures host C++ using compatibility-mode I/O. CUDA device
kernels, third-party libraries, and direct GDS are outside that measurement.
No percentage threshold is enforced while establishing the baseline.