name: 'Repository Maintenance'

on:
  schedule:
    - cron: '0 3 * * *'
  workflow_dispatch:

permissions:
  issues: write
  pull-requests: write

concurrency:
  group: lock

jobs:
  stale:
    name: 'Stale'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@v8
        with:
          days-before-stale: 7
          days-before-close: 14
          any-of-labels: 'cant-reproduce,not a bug'
          stale-issue-label: stale
          stale-pr-label: stale
          stale-issue-message: >
            This issue has been automatically marked as stale because it has not had
            recent activity. It will be closed if no further activity occurs. Thank you
            for your contributions.
  lock-threads:
    name: 'Lock Old Threads'
    runs-on: ubuntu-latest
    steps:
      - uses: dessant/lock-threads@v4
        with:
          issue-inactive-days: '30'
          pr-inactive-days: '30'
          log-output: true
          issue-comment: >
            This issue has been automatically locked since there
            has not been any recent activity after it was closed.
            Please open a new discussion or issue for related concerns.
          pr-comment: >
            This pull request has been automatically locked since there
            has not been any recent activity after it was closed.
            Please open a new discussion or issue for related concerns.
