Skip to content

update sonar workflow #2

update sonar workflow

update sonar workflow #2

name: "Auto-Close External PRs"
on:
pull_request_target:
types: [opened]
workflow_dispatch:
jobs:
close-on-open:
if: github.event_name == 'pull_request_target' && github.event.pull_request.user.login != github.repository_owner
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
steps:
- uses: actions/github-script@v7
with:
script: |
const pr = context.issue.number;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pr,
body: "Thanks for the interest! This repository isn't currently accepting external contributions as I am actively experimenting with different approaches and want to avoid merge conflicts. Therefore, this PR is being closed automatically by Github Bot."
});
await github.rest.pulls.update({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pr,
state: "closed"
});
sweep-existing:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
steps:
- uses: actions/github-script@v7
with:
script: |
const owner = context.repo.owner;
const repo = context.repo.repo;
const prs = await github.paginate(github.rest.pulls.list, {
owner, repo, state: 'open', per_page: 100
});
for (const pr of prs) {
if (pr.user.login === owner) continue;
core.info(`Closing PR #${pr.number} by ${pr.user.login}`);
await github.rest.issues.createComment({
owner, repo, issue_number: pr.number,
body: "Thanks for the interest! This repository isn't currently accepting external contributions as I am actively experimenting with different approaches and want to avoid merge conflicts. Therefore, this PR is being closed automatically by Github Bot."
});
await github.rest.pulls.update({
owner, repo, pull_number: pr.number, state: "closed"
});
}