diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index b5573cd79..f9f4e8113 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -152,6 +152,7 @@ jobs: - '!.github/workflows/inactivity_reminder.yaml' - '!.github/workflows/issue_automation.yaml' - '!.github/workflows/nightly.yaml' + - '!.github/workflows/request-nvskills-ci.yml' - '!.github/workflows/test.yaml' - '!.github/workflows/test_images.yaml' - '!.github/workflows/trigger-breaking-change-alert.yaml' @@ -208,6 +209,7 @@ jobs: - '!.github/workflows/inactivity_reminder.yaml' - '!.github/workflows/issue_automation.yaml' - '!.github/workflows/nightly.yaml' + - '!.github/workflows/request-nvskills-ci.yml' - '!.github/workflows/test.yaml' - '!.github/workflows/test_images.yaml' - '!.github/workflows/trigger-breaking-change-alert.yaml' @@ -272,6 +274,7 @@ jobs: - '!.github/workflows/inactivity_reminder.yaml' - '!.github/workflows/issue_automation.yaml' - '!.github/workflows/nightly.yaml' + - '!.github/workflows/request-nvskills-ci.yml' - '!.github/workflows/test.yaml' - '!.github/workflows/test_images.yaml' - '!.github/workflows/trigger-breaking-change-alert.yaml' @@ -333,6 +336,7 @@ jobs: - '!.github/workflows/inactivity_reminder.yaml' - '!.github/workflows/issue_automation.yaml' - '!.github/workflows/nightly.yaml' + - '!.github/workflows/request-nvskills-ci.yml' - '!.github/workflows/test.yaml' - '!.github/workflows/test_images.yaml' - '!.github/workflows/trigger-breaking-change-alert.yaml' diff --git a/.github/workflows/request-nvskills-ci.yml b/.github/workflows/request-nvskills-ci.yml new file mode 100644 index 000000000..917d3ce2b --- /dev/null +++ b/.github/workflows/request-nvskills-ci.yml @@ -0,0 +1,29 @@ +# SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +# Triggered when a maintainer/admin comments `/nvskills-ci` on a PR +# touching skills/. The bot pushes a signature commit that must remain +# in the PR before merge. Fork-based PRs are not supported. + +name: Request NVSkills CI + +on: + issue_comment: + types: [created] + push: + +jobs: + request: + if: > + (github.event_name == 'issue_comment' && + github.event.issue.pull_request && + startsWith(github.event.comment.body, '/nvskills-ci')) || + (github.event_name == 'push' && + github.actor == (vars.NVSKILLS_SIGNATURE_PUSH_ACTOR || 'nv-nvskill-ci[bot]') && + startsWith(github.event.head_commit.message, vars.NVSKILLS_SIGNATURE_COMMIT_TITLE || 'Attach NVSkills validation signatures')) + permissions: + contents: read + pull-requests: read + uses: NVIDIA/skills/.github/workflows/team-request.yml@main + secrets: + NVSKILLS_CI_DISPATCH_TOKEN: ${{ secrets.NVSKILLS_CI_DISPATCH_TOKEN }} diff --git a/.github/zizmor.yml b/.github/zizmor.yml index 1b6ea1e53..16c9bcade 100644 --- a/.github/zizmor.yml +++ b/.github/zizmor.yml @@ -6,4 +6,5 @@ rules: # rapidsai/shared-workflows and rapidsai/shared-actions "rapidsai/shared-workflows/*": any "rapidsai/shared-actions/*": any + "NVIDIA/skills/*": any "*": hash-pin diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 675cddf9a..8612c6c1b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -103,6 +103,12 @@ contributing to. Start with _Step 3_ from above, commenting on the issue to let others know you are working on it. If you have any questions related to the implementation of the issue, ask them in the issue instead of the PR. +### NVSkills CI for skill changes + +PRs that change content under `skills/` must be validated by NVSkills CI before merge. A maintainer or admin comments `/nvskills-ci` on the PR; the `nv-nvskill-ci[bot]` pushes a signature commit (`Attach NVSkills validation signatures`) that must remain in the PR. Re-comment `/nvskills-ci` after any further pushes to re-sign. + +NVSkills CI requires the PR to originate from a branch in `NVIDIA/cuopt`; fork-based PRs are not supported. + ## Setting up your build environment The following instructions are for developers and contributors to NVIDIA cuOpt development. These diff --git a/skills/cuopt-developer/SKILL.md b/skills/cuopt-developer/SKILL.md index 34a2cf050..2c2aa8a58 100644 --- a/skills/cuopt-developer/SKILL.md +++ b/skills/cuopt-developer/SKILL.md @@ -6,6 +6,11 @@ description: Modify, build, test, debug, and contribute to NVIDIA cuOpt (C++/CUD # cuOpt Developer Skill + + Contribute to the NVIDIA cuOpt codebase. This skill is for modifying cuOpt itself, not for using it. **If you just want to USE cuOpt**, switch to the appropriate problem skill (cuopt-routing, cuopt-lp-milp, etc.)