Add GitHub coverage reporting workflow - #702
Conversation
Signed-off-by: Andrew Russell <arussell@nvidia.com>
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughA new GitHub Actions Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
.github/workflows/coverage.yml (1)
27-30: 🔒 Security & Privacy | 🔵 TrivialDisable persisted checkout credentials.
coverage.ymldoesn’t use git after checkout, so addpersist-credentials: falseto avoid leaving the workflow token in local git config.Suggested fix
- name: Checkout code uses: actions/checkout@v6 with: fetch-depth: 0 + persist-credentials: false🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/coverage.yml around lines 27 - 30, Add persist-credentials: false to the actions/checkout step in coverage.yml so the workflow does not store the token in local git config. Update the existing Checkout code step only; the change belongs in the checkout configuration alongside fetch-depth, with no other workflow behavior altered.Source: Linters/SAST tools
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/coverage.yml:
- Line 113: The coverage artifact upload is configured to only warn when files
are missing, which can hide broken coverage generation and still pass the
workflow. Update the artifact upload step in the coverage workflow to fail the
job when expected coverage files are absent by changing the existing
if-no-files-found setting on the upload action, keeping the rest of the coverage
job unchanged.
- Line 28: The workflow currently uses mutable GitHub Actions tags for
actions/checkout and actions/upload-artifact, so update both references to
immutable commit SHAs to lock the versions. Locate the uses entries for
actions/checkout and actions/upload-artifact in the coverage workflow and
replace the tag refs with the pinned SHA equivalents while keeping the same
action behavior.
---
Nitpick comments:
In @.github/workflows/coverage.yml:
- Around line 27-30: Add persist-credentials: false to the actions/checkout step
in coverage.yml so the workflow does not store the token in local git config.
Update the existing Checkout code step only; the change belongs in the checkout
configuration alongside fetch-depth, with no other workflow behavior altered.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: f7e45d5e-e9a8-4d97-aef2-b2660eb24239
📒 Files selected for processing (1)
.github/workflows/coverage.yml
|
@aristarkhovNV can you help take a look? Thanks! |
Signed-off-by: Andrew Russell <arussell@nvidia.com>
qingsi-at-nv
left a comment
There was a problem hiding this comment.
PR and the generated coverage report looks reasonable to me: https://github.com/NVIDIA/IsaacTeleop/actions/runs/28116596678/job/83257560203?pr=702. Defer to @aristarkhovNV and @jiwenc-nv for any second opinion before merging.
qingsi-at-nv
left a comment
There was a problem hiding this comment.
Please update the PR description as discussed.
|
We already run ctest as part of the existing Ubuntu build. I'd suggest just adding coverage report there instead of adding a whole another Build & test workflow which is 90% identical to the existing one. |
|
Addressed the workflow-duplication review feedback in
Expected coverage artifact: |
|
Added a follow-up commit for the OSS dependency reporting half of the CI healthiness baseline. What changed:
Local validation: the generator ran successfully and produced 148 dependency entries; |
|
Pushed a small follow-up after the first CI poll caught formatting-only failures:
Local validation after the fix: OSS inventory generation still reports 148 entries, |
|
@arussell-nvidia could you keep this PR scope to adding the coverage test? It lgtm after your merged with the existing workflow, but the additional code to add OSS scanning should be done separately. Also the coverage improvement proposal does not belong to the repo document. |
|
CI is now green on Re-review summary:
Ready for another review pass when you have time. |
Signed-off-by: Andrew Russell <arussell@nvidia.com>
7aaff4e to
ca50d47
Compare
|
Addressed in
CI is restarting on the updated branch. |
|
CI on ca50d47 is now green after the scope cleanup. This PR is coverage-only: coverage generation remains in the existing Build Ubuntu Debug / x64 / Python 3.11 CTest matrix entry and publishes isaacteleop-coverage-ubuntu-debug. The latest coverage artifact from run 28553138603 reports lines 18.0% (1510 / 8405) and branches 11.0% (1250 / 11413). No OSS/dependency reporting changes remain in this PR. Ready for re-review. |
|
Updated per review: removed the separate CI healthiness docs note and its toctree entry so the coverage-report change stays scoped to the workflow behavior. |
|
@arussell-nvidia What is your plan to deal with errors from Generate Coverage Report step? |
|
Plan is to keep the report focused on project sources and avoid processing generated CMake compiler-id probes. I pushed c4c9d1d to exclude those generated build/CMakeFiles/.../CompilerId... coverage data paths from gcovr's raw-data scan while keeping the existing src/ source filter and test exclusions unchanged. The next CI run should confirm the warning is gone. |
…410 #421 #431 #444 #449 #458 #460 #461 #462 #464 #465 #473 #476 #477 #496 #497 #508 #528 #530 #537 #541 #544 #552 #554 #555 #556 #558 #559 #560 #561 #562 #563 #564 #566 #568 #573 #586 #589 #591 #599 #613 #617 #629 #633 #634 #635 #641 #643 #651 #657 #660 #667 #669 #671 #681 #684 #687 #702 #705 #707 #711 #712 #718 #720 #722 #724 #747 #753 #765 #766 #768 #776 #781 #783 #787 #788 #792 #796 #801 #806 #812 #813 #814 #820 #822 #832 #838 #840 #841 #844 #846 #848 #849 #850 #852 #853 #855 #856 #857 #858 #859 #865 #872 #873 #874 #875 #876 #877 #879 #895 #896 #898 #900 #901 #902 #904 #905 #906 #911 #912 #913 #915 #916 #918 #920 #927 #932 #934 #935 #937 #939 #940 #942 #948 #955 #967 #978 #980 #981 #983 #984 #987 #988 #990 #991 #993 #994
Description
Adds GitHub-native coverage reporting to the existing
Build Ubuntuworkflow. The Ubuntu Debug / x64 / Python 3.11 CTest matrix entry now builds with coverage flags, runs the existing CTest path, publishes totals to the GitHub Actions step summary, and uploads text, Cobertura XML, and HTML coverage artifacts.This PR is intentionally scoped to coverage reporting only.
Type of change
Testing
git diff --checkChecklist
SKIP=check-copyright-year pre-commit run --all-filesgit commit -s) per the DCO