mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
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: https://github.com/nodejs/node/issues/42981 Signed-off-by: Michael Dawson <mdawson@devrus.com> PR-URL: https://github.com/nodejs/node/pull/48051 Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
This commit is contained in:
63
.github/workflows/close-stale-pull-requests.yml
vendored
Normal file
63
.github/workflows/close-stale-pull-requests.yml
vendored
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user