Compare commits

..

3 Commits

Author SHA1 Message Date
Noah Zweben MacBook
ff3447566e Revert to issues.createComment with proper permissions 2026-01-06 15:43:32 -08:00
Noah Zweben MacBook
d5be96ce23 Use pulls.createReview instead of issues.createComment 2026-01-06 15:27:24 -08:00
Noah Zweben MacBook
0a469a7ca6 Add write permissions for external PR workflow 2026-01-06 15:25:56 -08:00

View File

@@ -13,25 +13,21 @@ jobs:
if: vars.DISABLE_EXTERNAL_PR_CHECK != 'true' if: vars.DISABLE_EXTERNAL_PR_CHECK != 'true'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check if author has write access - name: Check if author is org member
uses: actions/github-script@v7 uses: actions/github-script@v7
with: with:
script: | script: |
const org = 'anthropics';
const author = context.payload.pull_request.user.login; const author = context.payload.pull_request.user.login;
const { data } = await github.rest.repos.getCollaboratorPermissionLevel({ try {
owner: context.repo.owner, await github.rest.orgs.checkMembershipForUser({
repo: context.repo.repo, org: org,
username: author username: author
}); });
console.log(`${author} is an org member, allowing PR`);
if (['admin', 'write'].includes(data.permission)) { } catch (e) {
console.log(`${author} has ${data.permission} access, allowing PR`); if (e.status === 404) {
return;
}
console.log(`${author} has ${data.permission} access, closing PR`);
await github.rest.issues.createComment({ await github.rest.issues.createComment({
owner: context.repo.owner, owner: context.repo.owner,
repo: context.repo.repo, repo: context.repo.repo,
@@ -45,3 +41,7 @@ jobs:
pull_number: context.payload.pull_request.number, pull_number: context.payload.pull_request.number,
state: 'closed' state: 'closed'
}); });
console.log(`Closed PR from external contributor: ${author}`);
}
}