|
|
#!/usr/bin/env python
|
|
|
"""IPython release script.
|
|
|
|
|
|
This should only be run at real release time.
|
|
|
"""
|
|
|
|
|
|
from toollib import *
|
|
|
|
|
|
# Get main ipython dir, this will raise if it doesn't pass some checks
|
|
|
ipdir = get_ipdir()
|
|
|
tooldir = pjoin(ipdir,'tools')
|
|
|
distdir = pjoin(ipdir,'dist')
|
|
|
# Where I keep static backups of each release
|
|
|
ipbackupdir = os.path.expanduser('~/ipython/backup')
|
|
|
|
|
|
# Start in main IPython dir
|
|
|
cd(ipdir)
|
|
|
|
|
|
# Load release info
|
|
|
execfile(pjoin('IPython','core','release.py'))
|
|
|
|
|
|
print
|
|
|
print "Releasing IPython"
|
|
|
print "================="
|
|
|
print
|
|
|
print 'Source IPython directory:', ipdir
|
|
|
print
|
|
|
|
|
|
# Perform local backup, go to tools dir to run it.
|
|
|
cd(tooldir)
|
|
|
c('./make_tarball.py')
|
|
|
c('mv ipython-*.tgz %s' % ipbackupdir)
|
|
|
|
|
|
# Build release files
|
|
|
c('./build_release %s' % ipdir)
|
|
|
|
|
|
# Register with the Python Package Index (PyPI)
|
|
|
print "Registering with PyPI..."
|
|
|
cd(ipdir)
|
|
|
c('./setup.py register')
|
|
|
|
|
|
# Upload all files
|
|
|
c('./setup.py sdist --formats=gztar,zip upload')
|
|
|
cd(distdir)
|
|
|
print "Uploading distribution files..."
|
|
|
c('scp * ipython@ipython.scipy.org:www/dist/')
|
|
|
|
|
|
print "Uploading backup files..."
|
|
|
cd(ipbackupdir)
|
|
|
c('scp `ls -1tr *tgz | tail -1` ipython@ipython.scipy.org:www/backup/')
|
|
|
|
|
|
print "Done!"
|
|
|
|