-
Notifications
You must be signed in to change notification settings - Fork 30k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: add action to close stale PRs
Add action to close PRs that are over 1 year old and have had no comments or updates in the last 6 months. Fixes: #42981 Signed-off-by: Michael Dawson <[email protected]> PR-URL: #48051 Reviewed-By: Matteo Collina <[email protected]>
- Loading branch information
Showing
1 changed file
with
63 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: Close stale feature requests | ||
on: | ||
workflow_dispatch: | ||
inputs: | ||
endDate: | ||
description: stop processing PRs after this date | ||
required: false | ||
type: string | ||
schedule: | ||
# Run every day at 1:00 AM UTC. | ||
- cron: 0 1 * * * | ||
|
||
# yamllint disable rule:empty-lines | ||
env: | ||
CLOSE_MESSAGE: > | ||
This pull request was opened more than a year ago and there has | ||
been no activity in the last 6 months. We value your contribution | ||
but since it has not progressed in the last 6 months it is being | ||
closed. If you feel closing this pull request is not the right thing | ||
to do, please leave a comment. | ||
WARN_MESSAGE: > | ||
This pull request was opened more than a year ago and there has | ||
been no activity in the last 5 months. We value your contribution | ||
but since it has not progressed in the last 5 months it is being | ||
marked stale and will be closed if there is no progress in the | ||
next month. If you feel that is not the right thing to do please | ||
comment on the pull request. | ||
# yamllint enable | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
stale: | ||
permissions: | ||
pull-requests: write # for actions/stale to close stale PRs | ||
if: github.repository == 'nodejs/node' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Set default end date which is 1 year ago | ||
run: echo "END_DATE=$(date --date='525600 minutes ago' --rfc-2822)" >> "$GITHUB_ENV" | ||
- name: if date set in event override the default end date | ||
env: | ||
END_DATE_INPUT_VALUE: ${{ github.event.inputs.endDate }} | ||
if: ${{ github.event.inputs.endDate != '' }} | ||
run: echo "END_DATE=$END_DATE_INPUT_VALUE" >> "$GITHUB_ENV" | ||
- uses: mhdawson/stale@453d6581568dc43dbe345757f24408d7b451c651 # PR to add support for endDate | ||
with: | ||
repo-token: ${{ secrets.GITHUB_TOKEN }} | ||
end-date: ${{ env.END_DATE }} | ||
days-before-issue-stale: -1 | ||
days-before-issue-close: -1 | ||
only-labels: test-stale-pr | ||
days-before-stale: 150 | ||
days-before-close: 30 | ||
stale-issue-label: stale | ||
close-issue-message: ${{ env.CLOSE_MESSAGE }} | ||
stale-issue-message: ${{ env.WARN_MESSAGE }} | ||
exempt-pr-labels: never-stale | ||
# max requests it will send per run to the GitHub API before it deliberately exits to avoid hitting API rate limits | ||
operations-per-run: 500 | ||
remove-stale-when-updated: true |