# This file is synced from the `.github` repository, do not modify it directly.
name: Manage stale issues

on:
  push:
    paths:
      - .github/workflows/stale-issues.yml
    branches-ignore:
      - dependabot/**
  schedule:
    # Once every day at midnight UTC
    - cron: "0 0 * * *"
  issue_comment:

permissions:
  issues: write
  pull-requests: write

concurrency:
  group: stale-issues
  cancel-in-progress: ${{ github.event_name != 'issue_comment' }}

jobs:
  stale:
    if: >
      github.repository_owner == 'Homebrew' && (
        github.event_name != 'issue_comment' || (
          contains(github.event.issue.labels.*.name, 'stale') ||
          contains(github.event.pull_request.labels.*.name, 'stale')
        )
      )
    runs-on: ubuntu-latest
    steps:
      - name: Mark/Close Stale Issues and Pull Requests
        uses: actions/stale@v9
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          days-before-stale: 21
          days-before-close: 7
          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.
          stale-pr-message: >
            This pull request has been automatically marked as stale because it has not had
            recent activity. It will be closed if no further activity occurs.
          exempt-issue-labels: "gsoc-outreachy,help wanted,in progress"
          exempt-pr-labels: "gsoc-outreachy,help wanted,in progress"

  bump-pr-stale:
    if: >
      github.repository_owner == 'Homebrew' && (
        github.event_name != 'issue_comment' || (
          contains(github.event.issue.labels.*.name, 'stale') ||
          contains(github.event.pull_request.labels.*.name, 'stale')
        )
      )
    runs-on: ubuntu-latest
    steps:
      - name: Mark/Close Stale `bump-formula-pr` and `bump-cask-pr` Pull Requests
        uses: actions/stale@v9
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          days-before-stale: 2
          days-before-close: 1
          stale-pr-message: >
            This pull request has been automatically marked as stale because it has not had
            recent activity. It will be closed if no further activity occurs. To keep this
            pull request open, add a `help wanted` or `in progress` label.
          exempt-pr-labels: "help wanted,in progress"
          any-of-labels: "bump-formula-pr,bump-cask-pr"
