name: "Close stale pull requests"
on:
  schedule:
    - cron: "12 3 * * *"  # arbitrary time not to DDOS GitHub

permissions:
  contents: read

jobs:
  stale:
    permissions:
      pull-requests: write # required for closing stale PRs
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          stale-pr-message: 'This PR was marked stale due to lack of activity. It will be closed in 7 days.'
          close-pr-message: 'Closed as inactive. Feel free to reopen if this PR is still being worked on.'
          exempt-pr-labels: 'bug,work in progress,experts needed,never stale'
          exempt-draft-pr: true
          # opt out of defaults to avoid marking issues as stale
          days-before-stale: -1
          days-before-close: -1
          # overrides the above only for pull requests
          days-before-pr-stale: 15
          days-before-pr-close: 7
