diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 59ba93ca7f7..01b19cda841 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -2,7 +2,7 @@ name: Stale Bot on: schedule: - - cron: "0 0 * * *" + - cron: "0 15 * * *" jobs: close_stale_issues: diff --git a/scripts/stale.py b/scripts/stale.py index 1658608e07d..df899995f2a 100644 --- a/scripts/stale.py +++ b/scripts/stale.py @@ -26,6 +26,7 @@ LABELS_TO_EXEMPT = [ "good second issue", "feature request", "new model", + "wip", ] @@ -35,32 +36,29 @@ def main(): open_issues = repo.get_issues(state="open") for issue in open_issues: + comments = sorted([comment for comment in issue.get_comments()], key=lambda i: i.created_at, reverse=True) + last_comment = comments[0] if len(comments) > 0 else None if ( - not issue.assignees - and (dt.utcnow() - issue.updated_at).days > 21 + last_comment is not None and last_comment.user.login == "github-actions[bot]" + and (dt.utcnow() - issue.updated_at).days > 7 and (dt.utcnow() - issue.created_at).days >= 30 and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels()) ): - print("Closing", issue) - # issue.create_comment( - # "This issue has been automatically marked as stale and been closed because it has not had " - # "recent activity. Thank you for your contributions.\n\nIf you think this still needs to be addressed" - # " please comment on this thread." - # ) - # issue.add_to_labels("wontfix") - # issue.edit(state="closed") + # print(f"Would close issue {issue.number} since it has been 7 days of inactivity since bot mention.") + issue.edit(state="closed") elif ( - len(issue.assignees) > 0 - and (dt.utcnow() - issue.updated_at).days > 21 + (dt.utcnow() - issue.updated_at).days > 23 and (dt.utcnow() - issue.created_at).days >= 30 + and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels()) ): - for assignee in issue.assignees: - print(f"Issue {issue.number}. Pinging {assignee.name} with message") - print(f"Hey @{assignee.login}, could you take a second look at this issue?") - - # issue.create_comment( - # f"Hey @{assignee.login}, could you take a second look at this issue?" - # ) + # print(f"Would add stale comment to {issue.number}") + issue.create_comment( + "This issue has been automatically marked as stale because it has not had " + "recent activity. If you think this still needs to be addressed " + "please comment on this thread.\n\nPlease note that issues that do not follow the " + "[contributing guidelines](https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md) " + "are likely to be ignored." + ) if __name__ == "__main__":