Skip to content

Collect Python and xDR coverage in dedicated CI jobs - #96

Open
tpn wants to merge 5 commits into
mainfrom
codex/python-coverage-20261003
Open

tpn wants to merge 5 commits into
mainfrom
codex/python-coverage-20261003

Conversation

@tpn

@tpn tpn commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator

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.

tpn added 2 commits October 3, 2026 19:16
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>
@tpn
tpn requested a review from melo-gonzo as a code owner October 4, 2026 02:22
@coderabbitai

coderabbitai Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • ai-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: NVIDIA/cuPhoton/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: cd063733-b9a7-4fbe-a7c7-d23e666fd425

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

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>
@tpn tpn changed the title Add on-demand Python coverage for static analysis Collect Python coverage in a dedicated CI job Oct 4, 2026
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>
@tpn tpn changed the title Collect Python coverage in a dedicated CI job Collect Python and xDR coverage in dedicated CI jobs Oct 4, 2026
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

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