Uh oh!
There was an error while loading. Please reload this page.
feat: Add validate-pr composite action - #153
Conversation
Add a composite action that validates non-maintainer PRs against contribution guidelines. Checks that PRs reference a GitHub issue with prior maintainer discussion, and enforces draft status on all new PRs. Extracts the validation logic into standalone JS scripts for testability, matching the pattern used by the danger action. Previously this workflow was being copy-pasted across SDK repos (327 lines each). Now each repo only needs a ~15-line caller workflow. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
edde746
commented
Apr 6, 2026
Awful addition that is only mentioned in 1/26 repos where it's used. |
Add the PR validation workflow using the shared composite action from getsentry/github-workflows#153. Validates non-maintainer PRs against contribution guidelines and enforces draft status on all new PRs. #skip-changelog Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the inline PR validation workflow with the shared composite action from getsentry/github-workflows#153. This shrinks the workflow from 300+ lines to ~15 and ensures future updates to validation logic are picked up automatically. #skip-changelog Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Add a reusable composite action that validates non-maintainer PRs against
contribution guidelines. This was previously a 327-line workflow being
copy-pasted across SDK repos (first rolled out in getsentry/sentry-python#4233,
then getsentry/sentry-cocoa#7743, etc).
The action does two things:
issue where the author and a maintainer of the target repo have discussed
the approach. PRs that don't meet this are closed with a descriptive comment.
converted automatically.
The JS logic is extracted into standalone script files (
scripts/validate-pr.js,scripts/enforce-draft.js) for testability, matching the pattern used by thedanger/action.Each SDK repo's workflow shrinks from 327 lines to ~15:
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com