Skip to content

Commit

Permalink
Merge pull request #47 from Asymtode712/ClosePRFeat
Browse files Browse the repository at this point in the history
added workflow for closing old PRs
  • Loading branch information
TusharAMD authored May 19, 2024
2 parents fcd560f + e0836c1 commit f3bcbe4
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/close-old-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Close Stale PRs Without Owner Comments

on:
schedule:
- cron: "0 0 * * *" # Runs daily at midnight

jobs:
close_stale_prs:
runs-on: ubuntu-latest

steps:
- name: Check out the repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Close Stale PRs Without Owner Comments
run: |
const daysThreshold = 30;
const github = require('@actions/github');
const { Octokit } = require('@octokit/rest');
const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN });
const owner = github.context.repo.owner;
const repo = github.context.repo.repo;
const now = new Date();
const thresholdDate = new Date(now.setDate(now.getDate() - daysThreshold));
async function run() {
const { data: pullRequests } = await octokit.pulls.list({ owner, repo, state: 'open' });
for (const pr of pullRequests) {
const { data: comments } = await octokit.issues.listComments({ owner, repo, issue_number: pr.number });
const ownerComments = comments.filter(comment => comment.user.login === owner);
const recentOwnerComment = ownerComments.find(comment => new Date(comment.created_at) > thresholdDate);
if (!recentOwnerComment) {
await octokit.pulls.update({ owner, repo, pull_number: pr.number, state: 'closed' });
await octokit.issues.createComment({
owner,
repo,
issue_number: pr.number,
body: "This pull request has been closed because there has been no comment from the repository owner for the last 30 days. Please reach out to the maintainers if you have any questions."
});
}
}
}
run().catch(err => {
console.error(err);
process.exit(1);
});
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit f3bcbe4

Please sign in to comment.