Skip to content

CI: Integrate cuda-pathfinder into the shared release workflow - #3046

Open
jpascucci-nv wants to merge 2 commits into
NVIDIA:mainfrom
jpascucci-nv:issue3012
Open

jpascucci-nv wants to merge 2 commits into
NVIDIA:mainfrom
jpascucci-nv:issue3012

Conversation

@jpascucci-nv

Copy link
Copy Markdown
Contributor

Description

Refs #3012.

Integrate Pathfinder’s automated release process into release.yml, sharing documentation and artifact-upload jobs while preserving the release process for other products.

  • Preserve Pathfinder’s release-note checks, successful tag-triggered CI requirement, draft metadata, checkout-free publishing, and installation verification on TestPyPI and PyPI.
  • Require successful documentation before uploading assets or publishing packages. Finalize the Pathfinder GitHub release only after successful uploads and PyPI verification, without marking it as latest.
  • Reuse release-upload.yml for source archives, checksums, and validated wheels. Load Pathfinder validation tools from the workflow revision so older release tags remain supported.
  • Reduce duplication with YAML anchors for publishing and verification steps.
  • Preserve Pathfinder release serialization and default-branch enforcement for full releases, while supporting the shared dry-run mode.
  • Keep other products’ publishing behavior, upload concurrency, and manual GitHub release finalization unchanged.

Rollout

The existing release-cuda-pathfinder.yml remains unchanged during migration. Pathfinder’s trusted publishers on both PyPI and TestPyPI must authorize release.yml before its first full release. Retire the legacy workflow and publisher registrations afterward.

Validation

Workflow linting passes. Live workflow-dispatch and trusted-publishing validation remain outstanding.

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Summary
Refs NVIDIA#3012.

Integrate Pathfinder’s automated release process into release.yml, sharing documentation and artifact-upload jobs while preserving the release process for other products.
- Preserve Pathfinder’s release-note checks, successful tag-triggered CI requirement, draft metadata, checkout-free publishing, and installation verification on TestPyPI and PyPI.
- Require successful documentation before uploading assets or publishing packages. Finalize the Pathfinder GitHub release only after successful uploads and PyPI verification, without marking it as latest.
- Reuse release-upload.yml for source archives, checksums, and validated wheels. Load Pathfinder validation tools from the workflow revision so older release tags remain supported.
- Reduce duplication with YAML anchors for publishing and verification steps.
- Preserve Pathfinder release serialization and default-branch enforcement for full releases, while supporting the shared dry-run mode.
- Keep other products’ publishing behavior, upload concurrency, and manual GitHub release finalization unchanged.

Rollout
The existing release-cuda-pathfinder.yml remains unchanged during migration. Pathfinder’s trusted publishers on both PyPI and TestPyPI must authorize release.yml before its first full release. Retire the legacy workflow and publisher registrations afterward.

Validation
Workflow linting passes. Live workflow-dispatch and trusted-publishing validation remain outstanding.
@jpascucci-nv jpascucci-nv added this to the cuda.core 1.3.0 milestone Oct 7, 2026
@jpascucci-nv
jpascucci-nv requested a review from leofang October 7, 2026 22:01
@jpascucci-nv jpascucci-nv self-assigned this Oct 7, 2026
@jpascucci-nv jpascucci-nv added the CI/CD CI/CD infrastructure label Oct 7, 2026
@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: NVIDIA/cuda-python/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: a98c01be-a19a-4cb6-8a9a-c50b7cb29b5e
📥 Commits

Reviewing files that changed from the base of the PR and between 09cbb42 and 9eea6d5.

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

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review.


📝 Summary

Summary by CodeRabbit

  • New Features
    • cuda-pathfinder releases can now be published through the shared release process. Packages are verified on TestPyPI and PyPI before the GitHub release is published.
    • Release guidance explains the required settings, artifact and publication steps, default dry run, and trusted-publisher setup.
    • Full releases require a successful tag-triggered CI run and must be dispatched from the default branch.
  • Bug Fixes
    • Release publication waits for documentation builds and required checks to succeed.

Walkthrough

The shared release workflow now supports full cuda-pathfinder releases. It validates release inputs, builds docs, handles artifacts, publishes and verifies packages on both indexes, and publishes the GitHub draft.

Changes

Pathfinder shared release

Layer / File(s) Summary
Release inputs and draft preparation
.github/RELEASE-core.md, .github/workflows/release.yml
The guide documents Pathfinder dispatch settings, dry runs, and the trusted-publisher migration. The workflow validates the default branch, tag, CI run, and versioned notes, then reuses or creates a draft release.
Docs build and artifact handling
.github/workflows/release.yml, .github/workflows/release-upload.yml
The docs build and prerequisite checks gate artifact validation and publication. Pathfinder checks out release tools at the workflow revision and uploads the archive, checksums, and wheels together.
Package publication and release finalization
.github/workflows/release.yml
The workflow publishes packages to TestPyPI and PyPI, verifies installed versions from both indexes, and publishes the GitHub draft after successful checks and archive upload.

Priority: ➖ Normal

Change: Feature

Merge Risk: ⚪ Minimal · up to 9eea6

The reviewed workflow has no identified merge-blocking issue. Configure the documented trusted publishers before the first full release.

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

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

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration
  • Configuration used: Repository: NVIDIA/cuda-python/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 38efa48c-5bb5-4952-962c-50835eef5962
📥 Commits

Reviewing files that changed from the base of the PR and between 94139a0 and 09cbb42.

📒 Files selected for processing (3)
  • .github/RELEASE-core.md
  • .github/workflows/release-upload.yml
  • .github/workflows/release.yml

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

Comment thread .github/workflows/release.yml
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

@jpascucci-nv

Copy link
Copy Markdown
Contributor Author

successfully run dry-run of release cuda-pathfinder on this branch: https://github.com/NVIDIA/cuda-python/actions/runs/37968708482

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

CI/CD CI/CD infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant