| #!/usr/bin/python3 |
| import sys |
| import os |
| import re |
| from subprocess import check_output, check_call |
| |
| |
| def bump(version): |
| components = version.split('.') |
| components[1] = str(int(components[1]) + 1) |
| components[2] = '0' |
| return '.'.join(components) |
| |
| |
| def run(): |
| os.chdir(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
| |
| current_version = check_output( |
| [sys.executable, 'setup.py', '--version'], |
| encoding='utf-8' |
| ).strip() |
| new_version = bump(current_version) |
| |
| check_call([ |
| 'sed', |
| '-r', |
| '-e', 's|%s|%s|g' % (re.escape(current_version), new_version), |
| '-i', 'setup.py', |
| ]) |
| |
| check_call(['git', 'add', 'setup.py']) |
| |
| tag = 'v' + new_version |
| msg = 'Release ' + tag |
| check_call(['git', 'commit', '-m', msg]) |
| check_call(['git', 'tag', '-a', '-m', msg, tag]) |
| |
| print("Check `git log', then `git push --follow-tags'") |
| |
| |
| if __name__ == '__main__': |
| run() |