forked from six8/pytailer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfabfile.py
28 lines (22 loc) · 1.04 KB
/
fabfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from fabric.api import local, task, abort, settings
from clom import clom
from fabric.colors import green
@task
def release():
"""
Release current version to pypi
"""
with settings(warn_only=True):
r = local(clom.git['diff-files']('--quiet', '--ignore-submodules', '--'))
branch = str(local("git for-each-ref --format='%(refname:short)' `git symbolic-ref HEAD`", capture=True)).strip()
if branch != 'develop':
abort('You must be on the develop branch to start a release.')
elif r.return_code != 0:
abort('There are uncommitted changes, commit or stash them before releasing')
version = open('VERSION.txt').read().strip()
print(green('Releasing %s...' % version))
local(clom.git.flow.release.start(version))
# Can't use spaces in git flow release messages, see https://github.com/nvie/gitflow/issues/98
local(clom.git.flow.release.finish(version, m='Release-%s' % version))
local(clom.git.push('origin', 'master', tags=True))
local(clom.python('setup.py', 'sdist', 'upload'))