Conversation
Report restricted-path author gating as its own workflow so contributors see the organization requirement as soon as a PR touches cuda_bindings/ or cuda_python/. Made-with: Cursor
|
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. |
Keep the lightweight PR check runnable on GitHub-hosted runners by avoiding the unsupported gh api --slurp --jq combination when scanning changed files. Made-with: Cursor
Include the exact restricted-path matches in the job summary so contributors and reviewers can see what triggered the author organization check. Made-with: Cursor
|
I dug into whether we can determine conclusively from GitHub Actions if a PR author is a member of the
So |
Query NVIDIA org membership directly for restricted-path PRs so the workflow can distinguish members, non-members, and inconclusive cases, label PRs that need manual review, and show the matched files. Keep the trigger on pull_request temporarily so the new check can be exercised before switching back to pull_request_target. Made-with: Cursor
This reverts commit 42ba3f8.
|
Reverting 42ba3f8 because the direct What we learned from the experiments:
Given the current goal of finding low-hanging fruit without introducing a dedicated PAT / GitHub App token, I think the direct org-membership query is not worth keeping in this PR. If we revisit this later, the realistic options seem to be:
|
Treat repository collaborators as trusted for restricted-path changes so the workflow blocks only authors with no collaborator, member, or owner association. Made-with: Cursor
Use OWNER and MEMBER associations plus public NVIDIA membership as true-positive signals, and add a review label instead of failing when the workflow cannot confirm the author automatically. Made-with: Cursor
This reverts commit 9dcf7b1.
Replace the public-membership probe with a checked-in allowlist so restricted-path PRs can still get a known true positive during rollout while labeling authors that need manual review. Made-with: Cursor
|
We explored a few different ways to get a trustworthy automatic "yes" for PR authors who touch
Given those constraints, the current PR state is a pragmatic compromise:
So the reason we ended up here is that the other approaches were either too lossy ( |
|
Archiving OUTDATED PR description posted originally 2026-04-07 03:04 PM PDT: Main open policy question
Current state
What was tried and backed out
What is already working
Notes before merge
|
Replace the remaining "true positive" terminology with "trusted signal" so the workflow summary and implementation language match the current manual-review design. Made-with: Cursor
Show both the previous and current path in the PR author check summary so rename-triggered matches are understandable during manual review. Made-with: Cursor
Superseds (and reused work from) #1871
Closes #1139
TODO before merging:
INTERNAL_AUTHOR_ALLOWLISTcuda_bindings/pyproject.toml# XXX DUMMY CHANGE XXXpull_request(useful only for testing this PR) topull_request_targetSummary
This PR adds a separate workflow,
pr-author-org-check.yml, for pull requests that touch restricted paths undercuda_bindings/orcuda_python/.The new
pr-author-org-check.ymlworkflow does not implement strict enforcement. Instead, if a PR touches one of the restricted paths and we do not have a trusted signal for the PR author, the workflow assigns theCheck-PR-author-ORGlabel for manual follow-up. The job summary shows the author login, the author association, the matched restricted paths, the trusted signal that was used if any, and whether the label was needed.Trusted Signals
The current implementation treats the following as trusted signals:
github.event.pull_request.author_associationisMEMBERgithub.event.pull_request.author_associationisOWNERINTERNAL_AUTHOR_ALLOWLIST(At the moment,
INTERNAL_AUTHOR_ALLOWLISTcontains onlyrwgk.)Notably,
COLLABORATORis not treated as a trusted signal .Note: This workflow currently trusts the PR author; it does not check the full provenance of every commit on the PR branch. In practice, that means a trusted signal also carries the expectation that the PR author is careful not to bring in external-user commits touching
cuda_bindings/orcuda_python/.Intended Workflow Beyond This PR
The intended direction is for
Check-PR-author-ORGto become a merge-blocking mechanism for inconclusive cases.The flow would then be:
cuda_bindings/orcuda_python/Check-PR-author-ORGCheck-PR-author-ORGmanually and mergeIn other words, the workflow should automatically clear the easy, common use cases, and route the remaining cases into an explicit manual review step instead of trying to over-infer author status from weak signals.