ci: add NVSkills CI request workflow#1243
Conversation
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>
|
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. |
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>
|
/nvskills-ci |
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>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds a Request NVSkills CI workflow and related repo updates: a reusable-dispatch workflow for maintainer-triggered signing, a zizmor exception for ChangesNVSkills CI Integration
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
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
📒 Files selected for processing (5)
.github/workflows/pr.yaml.github/workflows/request-nvskills-ci.yml.github/zizmor.ymlCONTRIBUTING.mdskills/cuopt-developer/SKILL.md
| # rapidsai/shared-workflows and rapidsai/shared-actions | ||
| "rapidsai/shared-workflows/*": any | ||
| "rapidsai/shared-actions/*": any | ||
| "NVIDIA/skills/*": any |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
This matches with other repos
There was a problem hiding this comment.
@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.
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>
014bfa5 to
3c805a7
Compare
Adds the NVSkills CI request workflow (upstream template) so PRs touching
skills/can be validated and signed by the central pipeline.