Skip to content

Instantly share code, notes, and snippets.

@ShigekiKarita
Last active August 2, 2019 02:18
Show Gist options
  • Save ShigekiKarita/cfc78e93991c59158efbdec207c166d6 to your computer and use it in GitHub Desktop.
Save ShigekiKarita/cfc78e93991c59158efbdec207c166d6 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
from argparse import ArgumentParser
from collections import defaultdict
import requests
parser = ArgumentParser("release note generator")
parser.add_argument("--owner", default="espnet")
parser.add_argument("--repo", default="espnet")
parser.add_argument("--milestone", required=True)
parser.add_argument("--oauth-user", default=None)
parser.add_argument("--oauth-token", default=None)
args = parser.parse_args()
auth = None
if args.oauth_user is not None:
auth = (args.oauth_user, args.oauth_token)
# get milestone number
url = f'https://api.github.com/repos/{args.owner}/{args.repo}/milestones'
params = (
('state', "all"),
)
for m in requests.get(url, auth=auth, params=params).json():
if m["title"] == args.milestone:
m_number = m["number"]
break
# request
url = f'https://api.github.com/repos/{args.owner}/{args.repo}/issues'
params = (
('state', "closed"),
('milestone', m_number)
)
data = requests.get(url, auth=auth, params=params).json()
label_dict = defaultdict(list)
# labeling
total_pr = []
for pr in data:
if pr["pull_request"] is None:
continue
total_pr.append(pr)
label_list = pr["labels"]
if len(label_list) == 0:
label_dict["Unlabeled"].append(pr)
for label in label_list:
label_dict[label["name"]].append(pr)
print(f"Total {len(total_pr)} PRs were found!\n")
# print
for label, pr_list in label_dict.items():
print(f'## {label}')
for pr in pr_list:
print(f'- [**{label}**] {pr["title"]} #{pr["number"]} by @{pr["user"]["login"]}')
print()
#!/usr/bin/env python3
from argparse import ArgumentParser
from collections import defaultdict
import requests
parser = ArgumentParser("release note generator")
parser.add_argument("--user", default="espnet")
parser.add_argument("--repo", default="espnet")
parser.add_argument("--milestone", required=True)
parser.add_argument("--oauth-user", default=None)
parser.add_argument("--oauth-token", default=None)
args = parser.parse_args()
# get milestone number
auth = None
if args.oauth_user is not None:
auth = (args.oauth_user, args.oauth_token)
# request
url = f'https://api.github.com/repos/{args.user}/{args.repo}/pulls'
params = (
('state', "closed"),
)
data = requests.get(url, auth=auth, params=params).json()
label_dict = defaultdict(list)
# labeling
total_pr = []
for pr in data:
milestone = pr["milestone"]
if milestone is None:
continue
if milestone["title"] == args.milestone:
if pr["merged_at"] is None:
continue
total_pr.append(pr)
label_list = pr["labels"]
if len(label_list) == 0:
label_dict["Unlabeled"].append(pr)
for label in label_list:
label_dict[label["name"]].append(pr)
print(f"Total {len(total_pr)} PRs were merged!")
# print
for label, pr_list in label_dict.items():
print(f'## {label}')
for pr in pr_list:
print(f'- [**{label}**] {pr["title"]} #{pr["number"]} by @{pr["user"]["login"]}')
print()
$ ./release_note_issues.py --milestone v.0.4.3
```
Total 10 PRs were found!
## Enhancement
- [**Enhancement**] Use queue-freegpu.pl in all cmd.sh #1013 by @kamo-naoyuki
## CI
- [**CI**] Reduce travis jobs #1011 by @ShigekiKarita
## Bugfix
- [**Bugfix**] fix Cupy Import Error #969 #1010 by @Xiaofei-Wang
- [**Bugfix**] Fix a bug in synthesis_wav.sh #989 by @takenori-y
- [**Bugfix**] Fix lm_n_average in lang_model #988 by @Magic-Bubble
## Recipe
- [**Recipe**] CSJ asr1: prettify RESULTS.md #1008 by @kamo-naoyuki
- [**Recipe**] WSJ asr1: prettify RESULTS.md #1007 by @kamo-naoyuki
## Documentation
- [**Documentation**] nbsphinx support #1003 by @ShigekiKarita
- [**Documentation**] Update docstrings #994 by @kan-bayashi
## Refactoring
- [**Refactoring**] Remove "free-gpu" from *_train and create queue-freegpu.pl #938 by @kamo-naoyuki
```
see our previous release note https://github.com/espnet/espnet/releases/tag/v.0.4.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment