Skip to content

[infra] Clean up nightly release artifacts - #51

Merged
vikuznetsov-nvidia merged 3 commits into
mainfrom
vikuznetsov/nightly-release-cleanup
Jul 20, 2026
Merged

vikuznetsov-nvidia merged 3 commits into
mainfrom
vikuznetsov/nightly-release-cleanup

Conversation

@vikuznetsov-nvidia

@vikuznetsov-nvidia vikuznetsov-nvidia commented Jul 17, 2026 •

Copy link
Copy Markdown
Collaborator

Make nightly artifacts versioned and release-ready so the exact tested files are promoted unchanged with concise summaries.

Summary by CodeRabbit

  • New Features

    • Release packages, docs, and evaluation artifacts are now version-stamped in their filenames.
    • Nightly and release workflows consolidate evaluation results into a single versioned archive including KPI data and PDF reports.
    • Release notes are generated automatically from the evaluation summary contained in the consolidated archive.
  • Bug Fixes

    • Improved release validation ensures the correct version is used and rejects mismatched or incomplete assets before publishing.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Enterprise

Run ID: eb297f93-aff3-4b9e-bc75-8225dc539749

📥 Commits

Reviewing files that changed from the base of the PR and between 0e418ac and 2814156.

📒 Files selected for processing (1)
  • .github/workflows/nightly.yml

📝 Walkthrough

Walkthrough

The nightly workflow validates PACKAGE_VERSION, produces version-scoped build and evaluation artifacts, consolidates version-specific outputs, removes retained staging artifacts, and validates release assets before extracting evaluation notes.

Changes

Nightly release pipeline

Layer / File(s) Summary
Versioned preflight and build artifacts
.github/workflows/nightly.yml
Preflight validates PACKAGE_VERSION and release tags; matrix jobs package and upload versioned C++, documentation, test, evaluation, and Python artifacts.
Evaluation aggregation and record packaging
.github/workflows/nightly.yml
The summary job downloads version-scoped artifacts, consolidates test, KPI, and report data, packages the evaluation record, and deletes matching staging artifacts.
Release asset preparation
.github/workflows/nightly.yml
The release job merges assets, validates expected versioned files, checks required documentation and evaluation artifacts, and extracts evaluation-summary.md into release notes.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant CheckChanges
  participant MatrixBuildJobs
  participant NightlySummary
  participant ReleaseJob
  participant GitHubActionsArtifacts
  CheckChanges->>MatrixBuildJobs: provide validated package_version
  MatrixBuildJobs->>GitHubActionsArtifacts: upload versioned artifacts
  NightlySummary->>GitHubActionsArtifacts: download matching staging artifacts
  NightlySummary->>GitHubActionsArtifacts: upload consolidated evaluation record
  ReleaseJob->>GitHubActionsArtifacts: download cuvslam-* release assets
  ReleaseJob->>ReleaseJob: validate assets and extract release notes
Loading

Possibly related PRs

Suggested reviewers: hrabeti-nvidia, slepichev, hguillen

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: nightly release artifacts are being cleaned up and made versioned/release-ready.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch vikuznetsov/nightly-release-cleanup

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 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/nightly.yml:
- Line 270: Replace every mutable version-tag reference for
actions/upload-artifact, actions/download-artifact, and actions/github-script in
the nightly workflow with the corresponding immutable commit SHA, including the
shown actions/upload-artifact@v7 usage. Preserve each action’s current version
and configuration while pinning all occurrences consistently.

In `@cuvslam-skills/cuvslam-ci/SKILL.md`:
- Line 60: Update the nightly eval-runner requirements in
cuvslam-skills/cuvslam-ci/SKILL.md at line 60 to require the RUNNER_STORAGE_ROOT
mount and configured repository secrets/variables, while stating that AWS CLI is
supplied by the cuvslam-ci:local CI image. In
cuvslam-skills/cuvslam-ci/reference.md at line 95, remove AWS CLI from
host-runner prerequisites and retain the detail that it executes from the CI
image.
🪄 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: ASSERTIVE

Plan: Enterprise

Run ID: c9c7c743-c826-4533-abe6-cdf27c67b51e

📥 Commits

Reviewing files that changed from the base of the PR and between 4d245ae and 8d91251.

📒 Files selected for processing (4)
  • .github/workflows/nightly.yml
  • cuvslam-skills/cuvslam-ci/SKILL.md
  • cuvslam-skills/cuvslam-ci/reference.md
  • scripts/package_cpp_dist.sh

Comment thread .github/workflows/nightly.yml Resolved
Comment thread cuvslam-skills/cuvslam-ci/SKILL.md Resolved
@github-actions

github-actions Bot commented Jul 17, 2026 •

Copy link
Copy Markdown

Test Results

Status Platform Language Total Passed Failed Errors Skipped
✅ Orin C++ 16 16 0 0 0
✅ Orin Python 68 67 0 0 1
✅ Thor C++ 16 16 0 0 0
✅ Thor Python 68 67 0 0 1
✅ x86_64 C++ 16 16 0 0 0
✅ x86_64 Python 68 67 0 0 1

cuVSLAM Evaluation KPIs

Config Dataset ATE,% ARE,º/m Kabsch, Losts, diff ATE,% diff ARE,º/m diff Kabsch, diff Losts, FPS,Hz
x86_64-cuda12.6.3-ubuntu24.04 KITTI-STEREO_ODOM 0.837 0.0023 2.7866 0 NA NA NA NA 302.1
x86_64-cuda12.6.3-ubuntu24.04 KITTI-STEREO_SLAM 0.7591 0.002 1.9548 0 NA NA NA NA 179.4

Artifacts

@vikuznetsov-nvidia
vikuznetsov-nvidia force-pushed the vikuznetsov/nightly-release-cleanup branch from 768d353 to 0e418ac Compare July 20, 2026 11:55

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 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/nightly.yml:
- Around line 662-665: Update the artifact-count validation around cpp_assets
and wheel_assets to derive expected counts from the artifact-producing matrix
configuration or a previously emitted count, rather than hardcoding 6. Ensure
the check remains aligned when matrix rows or skip_artifacts/wheel settings
change, while preserving the existing error and exit behavior.
- Around line 657-663: Normalize PACKAGE_VERSION to its PEP 440 form before
constructing the wheel_assets glob and applying the later wheel filename
substring validation, while preserving the existing C++ asset matching with the
raw version. Ensure suffixed versions such as 1.2.3-rc1 match wheel filenames
containing 1.2.3rc1.
🪄 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: ASSERTIVE

Plan: Enterprise

Run ID: 45e9714e-9473-4677-82ba-dcb4f18f2949

📥 Commits

Reviewing files that changed from the base of the PR and between 768d353 and 0e418ac.

📒 Files selected for processing (1)
  • .github/workflows/nightly.yml

Comment thread .github/workflows/nightly.yml Resolved
Comment thread .github/workflows/nightly.yml Resolved
@vikuznetsov-nvidia
vikuznetsov-nvidia merged commit 1e28d85 into main Jul 20, 2026
7 checks passed
wmh02240 pushed a commit to wmh02240/cuVSLAM that referenced this pull request Aug 13, 2026
…nvidia-isaac#51)

* [fix] Fix USE_RERUN build breakages in euroc example and slam library

Two regressions only reachable in USE_RERUN=ON builds, so the default
(USE_RERUN=OFF) CI never caught them:

- examples/euroc/cpp/track_euroc.cpp: the rerun trajectory path referenced
  an undeclared `slam_pose`. The Slam::Track()/GetPose() split removed the
  old variable; fetch the pose via slam.GetPose(). Also drop the now-unused
  <memory> include.
- libs/slam/CMakeLists.txt: async_slam.cpp calls pipelines::logTrajectory()
  under USE_RERUN but slam did not link pipelines, breaking the slam_test
  link. Add pipelines to slam's USE_RERUN libraries (no dependency cycle).
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