name: Stale issues, pull requests and workflow runs

on:
  schedule:
    - cron: "30 1 * * *"
  workflow_dispatch:

jobs:
  stale:
    name: Flag stale issues and pull requests
    runs-on: ubuntu-latest
    steps:
      - uses: actions/stale@v3
        with:
          repo-token: ${{ github.token }}
          stale-pr-message: This pull request seems to be inactive and will be automatically closed in a few days if it remains without any activity.
          days-before-pr-stale: 21
          days-before-pr-close: 3
          stale-pr-label: ⏹️ stale
          remove-stale-when-updated: yes
          operations-per-run: 100
  lock:
    name: Lock inactive closed issues and pull requests
    needs:
      - stale
    runs-on: ubuntu-latest
    steps:
      - uses: dessant/lock-threads@v2
        with:
          github-token: ${{ github.token }}
          issue-lock-inactive-days: 14
          issue-lock-reason: ""
          issue-lock-labels: ☑️ archived
          pr-lock-inactive-days: 14
          pr-lock-reason: ""
          pr-lock-labels: ☑️ archived
  workflows:
    name: Remove expired workflow runs
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
      - name: Run script
        run: ./delete_workflows.sh lowlighter/metrics
        working-directory: .github/workflows/maintenance
        env:
          GITHUB_TOKEN: ${{ github.token }}