# Configuration for probot-stale - https://github.com/probot/stale

# Number of days of inactivity before an Issue or Pull Request becomes stale
daysUntilStale: 90

# Number of days of inactivity before a stale Issue or Pull Request is closed
daysUntilClose: 7

# Issues or Pull Requests with these labels will never be considered stale
exemptLabels:
  - "t1:enhancement"
  - "t2:defect"

# Label to use when marking as stale
staleLabel: "s1:awaiting input"

# Comment to post when marking as stale. Set to `false` to disable
markComment: >
  There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

# Comment to post when removing the stale label. Set to `false` to disable
unmarkComment: false

# Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable
closeComment: >
  This issue will be auto-closed because there hasn't been any activity for a few months.
  Feel free to [open a new one](https://github.com/CocoaPods/CocoaPods/issues/new) if you still experience this problem :+1:

# Limit to only `issues`
only: issues
