Skip to content

ci: add NVSkills CI request workflow#1243

Merged
rgsl888prabhu merged 8 commits into
NVIDIA:release/26.06from
rgsl888prabhu:add-nvskills-ci-workflow
May 20, 2026
Merged

ci: add NVSkills CI request workflow#1243
rgsl888prabhu merged 8 commits into
NVIDIA:release/26.06from
rgsl888prabhu:add-nvskills-ci-workflow

Conversation

@rgsl888prabhu
Copy link
Copy Markdown
Collaborator

@rgsl888prabhu rgsl888prabhu commented May 19, 2026

Adds the NVSkills CI request workflow (upstream template) so PRs touching skills/ can be validated and signed by the central pipeline.

Adds the NVSkills CI request workflow from the upstream template
(NVIDIA/nvskills-ci) to enable signature validation on PRs touching
skills/. Excludes the new workflow from pr.yaml change-filters and
allows NVIDIA/nvskills-ci references in zizmor (matching the existing
rapidsai exemption).

Onboarding still requires manual steps: NVCARPS team to add the repo
to the policy, install the nv-nvskill-ci GitHub App, and provide the
NVSKILLS_CI_DISPATCH_TOKEN secret.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 19, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

rgsl888prabhu and others added 2 commits May 19, 2026 11:05
Adds a brief CONTRIBUTING.md note and a header comment on the workflow
file describing how to trigger NVSkills CI on PRs touching skills/.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@rgsl888prabhu
Copy link
Copy Markdown
Collaborator Author

/nvskills-ci

rgsl888prabhu and others added 2 commits May 19, 2026 14:30
Replaces the NVIDIA/nvskills-ci allowlist entry with NVIDIA/skills to
match the reusable workflow path used by request-nvskills-ci.yml.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@rgsl888prabhu rgsl888prabhu marked this pull request as ready for review May 19, 2026 19:59
@rgsl888prabhu rgsl888prabhu requested review from a team as code owners May 19, 2026 19:59
@rgsl888prabhu rgsl888prabhu requested a review from tmckayus May 19, 2026 19:59
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 17c05c0e-0e4e-4594-898d-cecce0383fa5

📥 Commits

Reviewing files that changed from the base of the PR and between 3c805a7 and c3d9da2.

📒 Files selected for processing (1)
  • .github/workflows/pr.yaml

📝 Walkthrough

Walkthrough

Adds a Request NVSkills CI workflow and related repo updates: a reusable-dispatch workflow for maintainer-triggered signing, a zizmor exception for NVIDIA/skills/*, excludes the new workflow from PR changed-file triggers, and documents the signing process for changes under skills/.

Changes

NVSkills CI Integration

Layer / File(s) Summary
NVSkills CI Workflow and Security Policy
.github/workflows/request-nvskills-ci.yml, .github/zizmor.yml
New Request NVSkills CI workflow triggers on /nvskills-ci comment or signature push, dispatches to NVIDIA/skills reusable workflow with a secret token, and adds NVIDIA/skills/* to the unpinned-uses allowlist.
PR Workflow Job Filtering
.github/workflows/pr.yaml
Excludes .github/workflows/request-nvskills-ci.yml from the build_docs, test_cpp, test_python_conda, and test_python_wheels changed-files groups so edits to the request workflow do not trigger those CI groups.
Contributor Guidance for Skill Changes
CONTRIBUTING.md, skills/cuopt-developer/SKILL.md
Documents NVSkills CI requirements for PRs that modify skills/ (maintainer /nvskills-ci command, signature commit retention and re-signing rules, and branch-origin restriction); includes a trivial blank-line adjustment in a skill file.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • NVIDIA/cuopt#1249: Related workflow change preventing metadata-only skill updates from triggering heavy CI groups.

Suggested reviewers

  • tmckayus
  • Iroy30
  • mlubin
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'ci: add NVSkills CI request workflow' directly and clearly describes the main change—adding a new GitHub Actions workflow for NVSkills CI requests.
Description check ✅ Passed The description explains that the PR adds the NVSkills CI request workflow so PRs touching skills/ can be validated and signed, which is directly related to the changeset.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

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/request-nvskills-ci.yml:
- Around line 17-23: The issue is that the workflow allows any PR commenter to
trigger the /nvskills-ci path; update the if expression so the issue_comment
branch also checks github.event.comment.author_association and only permits
trusted roles (e.g. OWNER, MEMBER, COLLABORATOR, or a specific role you choose).
Concretely, modify the existing condition around
startsWith(github.event.comment.body, '/nvskills-ci') to also require
(github.event.comment.author_association == 'OWNER' ||
github.event.comment.author_association == 'MEMBER' ||
github.event.comment.author_association == 'COLLABORATOR') so only those
associations can dispatch using NVSKILLS_CI_DISPATCH_TOKEN.

In @.github/zizmor.yml:
- Line 9: Replace the overly broad exemption "NVIDIA/skills/*" with the exact
reusable workflow reference this PR uses (i.e., the full reusable-workflow path
and pin, such as "NVIDIA/skills/<workflow-file>.yml@<tag-or-sha>"); update the
entry in the whitelist so it matches that specific workflow filename and pinned
ref instead of the wildcard to avoid allowing other unpinned actions from the
NVIDIA/skills namespace.
🪄 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: 4ee63533-14ad-4e45-af8c-f3857e8b1fe1

📥 Commits

Reviewing files that changed from the base of the PR and between b145cc3 and 2581535.

📒 Files selected for processing (5)
  • .github/workflows/pr.yaml
  • .github/workflows/request-nvskills-ci.yml
  • .github/zizmor.yml
  • CONTRIBUTING.md
  • skills/cuopt-developer/SKILL.md

Comment thread .github/workflows/request-nvskills-ci.yml
Comment thread .github/zizmor.yml
# rapidsai/shared-workflows and rapidsai/shared-actions
"rapidsai/shared-workflows/*": any
"rapidsai/shared-actions/*": any
"NVIDIA/skills/*": any
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot May 19, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Scope the unpinned exemption to the exact reusable workflow path.

Line 9 is overly broad (NVIDIA/skills/*). Restrict this to the specific workflow reference used by this PR to avoid unintentionally permitting other unpinned actions from that namespace.

🤖 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/zizmor.yml at line 9, Replace the overly broad exemption
"NVIDIA/skills/*" with the exact reusable workflow reference this PR uses (i.e.,
the full reusable-workflow path and pin, such as
"NVIDIA/skills/<workflow-file>.yml@<tag-or-sha>"); update the entry in the
whitelist so it matches that specific workflow filename and pinned ref instead
of the wildcard to avoid allowing other unpinned actions from the NVIDIA/skills
namespace.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This matches with other repos

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@rgsl888prabhu, understood! The NVIDIA/skills/* wildcard entry is indeed consistent with the existing exemptions in the same file (rapidsai/shared-workflows/* and rapidsai/shared-actions/*), which follow the same pattern. Thanks for the clarification.


✏️ Learnings added
Learnt from: rgsl888prabhu
Repo: NVIDIA/cuopt PR: 1243
File: .github/zizmor.yml:9-9
Timestamp: 2026-05-20T16:01:22.437Z
Learning: In the NVIDIA/cuopt repository, the `.github/zizmor.yml` unpinned-uses policy intentionally uses wildcard exemptions (e.g., `"NVIDIA/skills/*": any`, `"rapidsai/shared-workflows/*": any`, `"rapidsai/shared-actions/*": any`) to match the convention used across other repos. Do not flag these wildcard entries as overly broad — they are deliberate and consistent.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@rgsl888prabhu rgsl888prabhu self-assigned this May 19, 2026
@rgsl888prabhu rgsl888prabhu added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels May 19, 2026
Restricts the issue_comment branch to OWNER, MEMBER, and COLLABORATOR
to prevent unauthorized commenters from firing the dispatch.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Ramakrishna Prabhu <ramakrishnap@nvidia.com>
@rgsl888prabhu rgsl888prabhu force-pushed the add-nvskills-ci-workflow branch from 014bfa5 to 3c805a7 Compare May 20, 2026 15:40
@rgsl888prabhu rgsl888prabhu requested a review from jameslamb May 20, 2026 16:02
@rgsl888prabhu rgsl888prabhu changed the base branch from main to release/26.06 May 20, 2026 17:27
@rgsl888prabhu rgsl888prabhu merged commit b2093e0 into NVIDIA:release/26.06 May 20, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants