You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
core.info(`Found ${allPrs.length} open pull requests`)
90
+
91
+
const stalePrs = allPrs.filter((pr) => {
92
+
const dates = [
93
+
new Date(pr.createdAt),
94
+
pr.commits.nodes[0] ? new Date(pr.commits.nodes[0].commit.committedDate) : null,
95
+
pr.comments.nodes[0] ? new Date(pr.comments.nodes[0].createdAt) : null,
96
+
pr.reviews.nodes[0] ? new Date(pr.reviews.nodes[0].createdAt) : null,
97
+
].filter((d) => d !== null)
98
+
99
+
const lastActivity = dates.sort((a, b) => b.getTime() - a.getTime())[0]
100
+
101
+
if (!lastActivity || lastActivity > cutoff) {
102
+
core.info(`PR #${pr.number} is fresh (last activity: ${lastActivity?.toISOString() || "unknown"})`)
103
+
return false
104
+
}
105
+
106
+
core.info(`PR #${pr.number} is STALE (last activity: ${lastActivity.toISOString()})`)
107
+
return true
108
+
})
109
+
54
110
if (!stalePrs.length) {
55
111
core.info("No stale pull requests found.")
56
112
return
57
113
}
58
114
115
+
core.info(`Found ${stalePrs.length} stale pull requests`)
116
+
59
117
for (const pr of stalePrs) {
60
118
const issue_number = pr.number
61
119
const closeComment = `Closing this pull request because it has had no updates for more than ${DAYS_INACTIVE} days. If you plan to continue working on it, feel free to reopen or open a new PR.`
62
120
63
121
if (dryRun) {
64
-
core.info(`[dry-run] Would close PR #${issue_number} from ${pr.user.login}`)
122
+
core.info(`[dry-run] Would close PR #${issue_number} from ${pr.author.login}: ${pr.title}`)
65
123
continue
66
124
}
67
125
@@ -79,5 +137,5 @@ jobs:
79
137
state: "closed",
80
138
})
81
139
82
-
core.info(`Closed PR #${issue_number} from ${pr.user.login}`)
140
+
core.info(`Closed PR #${issue_number} from ${pr.author.login}: ${pr.title}`)
0 commit comments