# 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: {}

defaults:
  run:
    shell: bash -xeuo pipefail {0}

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
    permissions:
      contents: write
      issues: write
      pull-requests: write
    steps:
      - name: Mark/Close Stale Issues and Pull Requests
        uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
        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"
          delete-branch: true

  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
    permissions:
      contents: write
      issues: write
      pull-requests: write
    steps:
      - name: Mark/Close Stale `bump-formula-pr` and `bump-cask-pr` Pull Requests
        uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
        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"
          delete-branch: true
