~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to release.py

  • Committer: Aaron Bentley
  • Date: 2007-03-07 14:14:01 UTC
  • Revision ID: abentley@panoramicfeedback.com-20070307141401-lpvmug502lgcg504
Release script checks for uncommitted changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python
 
1
#!/usr/bin/env python2.4
2
2
import os
3
3
import re
4
 
from subprocess import call, PIPE
 
4
from subprocess import call
5
5
import sys
6
6
 
7
7
sys.path.insert(0, '..')
14
14
        match = re.search(pattern, line)
15
15
        if match is not None:
16
16
            return match
17
 
 
 
17
match = minigrep('version="([^"]*)"', 'setup.py')
 
18
if match is None:
 
19
    print "No version line found"
 
20
    sys.exit(1)
 
21
if match.group(1) != bzrtools.__version__:
 
22
    print "Mismatch between bzrtools version and setup.py version:\n %s %s"\
 
23
        % (bzrtools.__version__, match.group(1))
 
24
    sys.exit(1)
 
25
    
 
26
print "setup.py version: %s" % match.group(1)
18
27
newsmatch = minigrep('RELEASE: bzrtools %s' % (bzrtools.__version__), 'NEWS')
19
28
if newsmatch is None:
20
29
    print "NEWS entry missing"
21
30
    sys.exit(1)
22
31
else:
23
32
    print "NEWS entry found"
24
 
final_name = '../bzrtools-release/bzrtools-%s.tar.gz' % bzrtools.__version__
 
33
final_name = '../bzrtools-%s.tar.gz' % bzrtools.__version__
25
34
if os.path.exists('../bzrtools.tar.gz'):
26
35
    print "Temp file exists already."
27
36
    sys.exit(1)
28
37
if os.path.exists(final_name):
29
38
    print "Final file exists already."
30
39
    sys.exit(1)
31
 
if call(['bzr', 'diff'], stdout=PIPE) != 0:
 
40
if call(['bzr', 'diff']) != 0:
32
41
    print "Please commit before releasing"
33
42
    sys.exit(1)
34
 
retcode = call(['bzr', 'tag', 'release-%s' % bzrtools.__version__])
35
 
if retcode != 0:
36
 
    sys.exit(1)
37
43
retcode = call(['bzr', 'export', '../bzrtools.tar.gz'])
38
44
if retcode != 0:
39
45
    sys.exit(1)
40
46
os.rename('../bzrtools.tar.gz', final_name)
41
47
print 'Created %s' % final_name
42
48
call(['gpg', '--detach-sign', final_name])
43
 
#print 'Uploading...'
44
 
#call(['scp', final_name, final_name + '.sig',
45
 
#      'panoramicfeedback.com:opensource/'])
 
49
print 'Uploading...'
 
50
call(['scp', final_name, final_name + '.sig', 
 
51
      'panoramicfeedback.com:opensource/'])
 
52
print "If you haven't committed, now would be a good time."