| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | """ |
| | Script to close stale issue. Taken in part from the AllenNLP repository. |
| | https://github.com/allenai/allennlp. |
| | """ |
| | import os |
| | from datetime import datetime as dt |
| |
|
| | import github.GithubException |
| | from github import Github |
| |
|
| |
|
| | LABELS_TO_EXEMPT = [ |
| | "good first issue", |
| | "good second issue", |
| | "good difficult issue", |
| | "feature request", |
| | "new model", |
| | "wip", |
| | ] |
| |
|
| |
|
| | def main(): |
| | g = Github(os.environ["GITHUB_TOKEN"]) |
| | repo = g.get_repo("huggingface/transformers") |
| | open_issues = repo.get_issues(state="open") |
| |
|
| | for i, issue in enumerate(open_issues): |
| | print(i, issue) |
| | comments = sorted(list(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.utcnow() - issue.updated_at.replace(tzinfo=None)).days > 7 |
| | and (dt.utcnow() - issue.created_at.replace(tzinfo=None)).days >= 30 |
| | and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels()) |
| | ): |
| | |
| | try: |
| | issue.edit(state="closed") |
| | except github.GithubException as e: |
| | print("Couldn't close the issue:", repr(e)) |
| | elif ( |
| | (dt.utcnow() - issue.updated_at.replace(tzinfo=None)).days > 23 |
| | and (dt.utcnow() - issue.created_at.replace(tzinfo=None)).days >= 30 |
| | and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels()) |
| | ): |
| | |
| | try: |
| | 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/main/CONTRIBUTING.md) " |
| | "are likely to be ignored." |
| | ) |
| | except github.GithubException as e: |
| | print("Couldn't create comment:", repr(e)) |
| |
|
| |
|
| | if __name__ == "__main__": |
| | main() |
| |
|