diff --git a/tools/release b/tools/release index 1bf83d9..6a54c40 100755 --- a/tools/release +++ b/tools/release @@ -1,52 +1,63 @@ #!/usr/bin/env python """IPython release script. -This should only be run at real release time. +This should ONLY be run at real release time. """ +from __future__ import print_function 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') +tooldir = pjoin(ipdir, 'tools') +distdir = pjoin(ipdir, 'dist') + # Where I keep static backups of each release ipbackupdir = os.path.expanduser('~/ipython/backup') +# SSH root address of the archive site +archive = 'ipython@archive.ipython.org:archive.ipython.org' # 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 +# Build site addresses for file uploads +release_site = '%s/release/%s' % (archive, version) +backup_site = '%s/backup/%s' % (archive, version) + +# Start actual release process +print() +print('Releasing IPython') +print('=================') +print() +print('Version:', version) +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) +sh('./make_tarball.py') +sh('mv ipython-*.tgz %s' % ipbackupdir) # Build release files -c('./build_release %s' % ipdir) +sh('./build_release %s' % ipdir) # Register with the Python Package Index (PyPI) -print "Registering with PyPI..." +print( 'Registering with PyPI...') cd(ipdir) -c('./setup.py register') +sh('./setup.py register') # Upload all files -c('./setup.py sdist --formats=gztar,zip upload') +sh('./setup.py sdist --formats=gztar,zip upload') cd(distdir) -print "Uploading distribution files..." -c('scp * ipython@ipython.scipy.org:www/dist/') +print( 'Uploading distribution files...') +sh('scp * %s' % release_site) -print "Uploading backup files..." +print( 'Uploading backup files...') cd(ipbackupdir) -c('scp `ls -1tr *tgz | tail -1` ipython@ipython.scipy.org:www/backup/') +sh('scp `ls -1tr *tgz | tail -1` %s' % backup_site) -print "Done!" +print('Done!') diff --git a/tools/toollib.py b/tools/toollib.py index b0fa830..684e1ac 100644 --- a/tools/toollib.py +++ b/tools/toollib.py @@ -1,5 +1,7 @@ """Various utilities common to IPython release and maintenance tools. """ +from __future__ import print_function + # Library imports import os import sys @@ -13,7 +15,7 @@ cd = os.chdir # Utility functions def sh(cmd): """Run system command in shell, raise SystemExit if it returns an error.""" - print "$",cmd + print("$", cmd) stat = os.system(cmd) #stat = 0 # Uncomment this and comment previous to run in debug mode if stat: