diff --git a/utils/stale.py b/utils/stale.py index 9a29254e6257..30dddd4475d8 100644 --- a/utils/stale.py +++ b/utils/stale.py @@ -39,29 +39,18 @@ def main(): open_issues = repo.get_issues(state="open") for issue in open_issues: - comments = sorted(issue.get_comments(), key=lambda i: i.created_at, reverse=True) - last_comment = comments[0] if len(comments) > 0 else None - if ( - last_comment is not None - and last_comment.user.login == "github-actions[bot]" - and (dt.now(timezone.utc) - issue.updated_at).days > 7 - and (dt.now(timezone.utc) - issue.created_at).days >= 30 - and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels()) - ): - # Closes the issue after 7 days of inactivity since the Stalebot notification. - issue.edit(state="closed") - elif ( - "stale" in issue.get_labels() - and last_comment is not None - and last_comment.user.login != "github-actions[bot]" - ): - # Opens the issue if someone other than Stalebot commented. - issue.edit(state="open") - issue.remove_from_labels("stale") + labels = [label.name for label in issue.get_labels()] + if "stale" in labels: + comments = sorted(issue.get_comments(), key=lambda i: i.created_at, reverse=True) + last_comment = comments[0] if len(comments) > 0 else None + if last_comment is not None and last_comment.user.login != "github-actions[bot]": + # Opens the issue if someone other than Stalebot commented. + issue.edit(state="open") + issue.remove_from_labels("stale") elif ( (dt.now(timezone.utc) - issue.updated_at).days > 23 and (dt.now(timezone.utc) - issue.created_at).days >= 30 - and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels()) + and not any(label.name.lower() in LABELS_TO_EXEMPT for label in labels) ): # Post a Stalebot notification after 23 days of inactivity. issue.create_comment(