Close stale pull requests #9
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
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 |