diff --git a/.github/workflows/close-stalled.yml b/.github/workflows/close-stalled.yml new file mode 100644 index 00000000..309d8b32 --- /dev/null +++ b/.github/workflows/close-stalled.yml @@ -0,0 +1,34 @@ +name: Close stalled issues and PRs +on: + schedule: + - cron: 0 0 * * * + +env: + CLOSE_MESSAGE: > + Closing this because it has stalled. Feel free to reopen if this issue/PR + is still relevant, or to ping the collaborator who labelled it stalled if + you have any questions. + +permissions: + contents: read + +jobs: + stale: + permissions: + issues: write # for actions/stale to close stale issues + pull-requests: write # for actions/stale to close stale PRs + if: github.repository == 'nodejs/citgm' + runs-on: ubuntu-latest + steps: + - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e # v9.0.0 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + days-before-close: 30 + stale-pr-label: stalled + stale-issue-label: stalled + close-issue-message: ${{ env.CLOSE_MESSAGE }} + close-pr-message: ${{ env.CLOSE_MESSAGE }} + # used to filter issues to check whether or not should be closed, avoids hitting maximum operations allowed if needing to paginate through all open issues + only-labels: stalled + # 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