name: 'Close stale PRs'
on:
  schedule:
    - cron: '30 1 * * *'
  workflow_dispatch: # Allow manual triggering

jobs:
  stale:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@v9
        with:
          stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
          close-pr-message: 'This PR was closed because it has been stalled for 5 days with no activity.'
          days-before-stale: 30
          days-before-close: 5
          days-before-issue-stale: -1
  stale-wip:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@v9
        with:
          stale-pr-message: ':wave: Hi! It looks like this PR has not had any changes for a week now. Would you like someone to review this PR? If so - please remove the "[WIP]" prefix from the PR title. That will let the community know that this PR is open for a review.'
          days-before-stale: 7
          any-of-labels: ':construction: WIP'
          days-before-close: -1
          days-before-issue-stale: -1

  stale-needs-info:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@v9
        with:
          stale-issue-label: 'needs info'
          days-before-stale: -1
          days-before-close: 7
          close-issue-message: 'This issue has been automatically closed because there have been no comments for 7 days after the "needs info" label was added. If you still need help, please feel free to reopen the issue with the requested information.'
          remove-stale-when-updated: false
          stale-pr-message: '' # Disable PR processing
          close-pr-message: '' # Disable PR processing
          days-before-pr-stale: -1 # Disable PR processing
          days-before-pr-close: -1 # Disable PR processing
