summaryrefslogtreecommitdiff
path: root/.github/workflows/close-stalled.yml
blob: 6eadfae6dd248137febc6c00e824cb8caeccee72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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/node'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@v7
        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
          # deactivates automatic removal of stalled label if issue gets any activity
          remove-stale-when-updated: false
          # deactivates automatic stale labelling as we prefer to do that manually
          days-before-stale: -1