name: Close stale issues and pull requests
on:
  workflow_dispatch:
  schedule:
    - cron: "30 1 * * *"
permissions:
  contents: read
jobs:
  stale:
    permissions:
      contents: read
      issues: write
      pull-requests: write
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@v9
        with:
          days-before-stale: 90 # default is 60
          days-before-close: 14 # default is 7
          exempt-all-assignees: true
          exempt-draft-pr: true
          exempt-issue-labels: Keep, InProgress, NeedsTriage
          exempt-pr-labels: Keep
          operations-per-run: 100
          stale-issue-message: >
            This issue has been marked as stale because there hasn't been any
            recent activity. It will be closed soon if there are no further
            updates.
          stale-pr-message: >
            This pull request has been marked as stale because there hasn't
            been any recent activity. It will be closed soon if there are no
            further updates.
