Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
64 lines
2.3 KiB
YAML
64 lines
2.3 KiB
YAML
name: Close bad repo-sync PRs
|
|
|
|
# **What it does**:
|
|
# Closes and PR from `repo-sync` to `main` that wasn't created by a Hubber.
|
|
# **Why we have it**:
|
|
# Unfortunately, a lot of PRs in github/docs are created by people who
|
|
# shouldn't be creating such PRs. We bot our bots to own it.
|
|
# **Who does it impact**: Open-source.
|
|
|
|
on:
|
|
# Necessary in lieu of `pull_request` so that PRs opened from forks can be closed if they try to push to a repo sync branch.
|
|
pull_request_target:
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
close-invalid-repo-sync-pr:
|
|
if: ${{ github.repository == 'github/docs' && github.event.pull_request.base.ref == 'main' && github.event.pull_request.head.ref == 'repo-sync' }}
|
|
name: Close if invalid repo-sync PR author
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Close pull request if unwanted
|
|
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd
|
|
with:
|
|
github-token: ${{ secrets.DOCS_BOT_PAT_BASE }}
|
|
script: |
|
|
const { owner, repo } = context.repo
|
|
const prCreator = context.actor
|
|
const prNumber = context.issue.number
|
|
|
|
try {
|
|
await github.rest.teams.getMembershipForUserInOrg({
|
|
org: 'github',
|
|
team_slug: 'employees',
|
|
username: prCreator
|
|
})
|
|
|
|
// If the PR creator is a GitHub employee, stop now
|
|
console.log("PR creator is a GitHub employee")
|
|
return
|
|
} catch (err) {
|
|
// An error will be thrown if the user is not a GitHub employee.
|
|
// That said, we still want to proceed anyway!
|
|
}
|
|
|
|
// Close the PR and add the invalid label
|
|
await github.rest.issues.update({
|
|
owner,
|
|
repo,
|
|
issue_number: prNumber,
|
|
labels: ['invalid'],
|
|
state: 'closed'
|
|
})
|
|
|
|
// Comment on the PR
|
|
await github.rest.issues.createComment({
|
|
owner,
|
|
repo,
|
|
issue_number: prNumber,
|
|
body: "Please leave this `repo-sync` branch to the robots!\n\nI'm going to close this pull request now, but feel free to open a new issue in the repository!"
|
|
})
|