name: '[Support] Close stale issues and PRs'
on:
  workflow_dispatch:
  schedule:
    - cron: '0 1 * * *'
permissions:
  issues: write
  pull-requests: write
# This job won't trigger any additional event. All actions are performed with GITHUB_TOKEN
jobs:
  stale:
    runs-on: ubuntu-latest
    steps:
      # This step will add the stale comment and label for the first 15 days without activity. It won't close any task
      - uses: actions/stale@v6.0.1
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          stale-issue-message: 'This Issue has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thanks for the feedback.'
          stale-pr-message: 'This Pull Request has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thank you for your contribution.'
          days-before-stale: 15
          days-before-close: -1
          exempt-issue-labels: 'on-hold'
          exempt-pr-labels: 'on-hold'
          operations-per-run: 500
      # This step will add the 'solved' label and the last comment before closing the issue or PR. Note that it won't close any issue or PR, they will be closed by the clossing-issues workflow
      - uses: actions/stale@v6.0.1
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          stale-issue-message: 'Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Issue. Do not hesitate to reopen it later if necessary.'
          stale-pr-message: 'Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Pull Request. Do not hesitate to reopen it later if necessary.'
          any-of-labels: 'stale'
          stale-issue-label: 'solved'
          stale-pr-label: 'solved'
          days-before-stale: 5
          days-before-close: -1
          exempt-issue-labels: 'on-hold'
          exempt-pr-labels: 'on-hold'
          operations-per-run: 200
