##// END OF EJS Templates
remove strict requirement for less,invoke in wheel/sdist...
remove strict requirement for less,invoke in wheel/sdist move the strictness to our release script this means others can build personal wheels without less, invoke, but IPython releases still cannot be made without them, which is the real goal.

File last commit:

r19847:554d8058
r19847:554d8058
Show More
release
81 lines | 2.0 KiB | text/plain | TextLexer
Fernando Perez
Cleaned up release tools directory....
r2118 #!/usr/bin/env python
"""IPython release script.
Ville M. Vainio
crlf -> lf
r1032
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 This should ONLY be run at real release time.
Fernando Perez
Cleaned up release tools directory....
r2118 """
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 from __future__ import print_function
Ville M. Vainio
crlf -> lf
r1032
Fernando Perez
Cleaned up release tools directory....
r2118 from toollib import *
MinRK
add GitHub uploads to release script
r8598 from gh_api import post_download
Fernando Perez
Cleaned up release tools directory....
r2118
# Get main ipython dir, this will raise if it doesn't pass some checks
ipdir = get_ipdir()
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 tooldir = pjoin(ipdir, 'tools')
distdir = pjoin(ipdir, 'dist')
Fernando Perez
Add 0.10.1 release notes to docs and minor tool updates....
r3135 # Where I keep static backups of each release
ipbackupdir = os.path.expanduser('~/ipython/backup')
MinRK
updates to release scripts...
r17581 if not os.path.exists(ipbackupdir):
os.makedirs(ipbackupdir)
Fernando Perez
Add 0.10.1 release notes to docs and minor tool updates....
r3135
# Start in main IPython dir
Fernando Perez
Cleaned up release tools directory....
r2118 cd(ipdir)
# Load release info
Min RK
remove strict requirement for less,invoke in wheel/sdist...
r19847 execfile(pjoin('IPython','core','release.py'), globals())
MinRK
add wheels to release...
r16795 # ensure js version is in sync
sh('./setup.py jsversion')
Min RK
remove strict requirement for less,invoke in wheel/sdist...
r19847 # build minified css and sourcemaps
sh('./setup.py css -x -f')
Fernando Perez
Cleaned up release tools directory....
r2118
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 # Build site addresses for file uploads
release_site = '%s/release/%s' % (archive, version)
Fernando Perez
Fix backup URL. Final commit before 0.11 release.
r4457 backup_site = '%s/backup/' % archive
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450
# Start actual release process
print()
print('Releasing IPython')
print('=================')
print()
print('Version:', version)
print()
print('Source IPython directory:', ipdir)
print()
Ville M. Vainio
crlf -> lf
r1032
Fernando Perez
Add 0.10.1 release notes to docs and minor tool updates....
r3135 # Perform local backup, go to tools dir to run it.
cd(tooldir)
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 sh('./make_tarball.py')
sh('mv ipython-*.tgz %s' % ipbackupdir)
Ville M. Vainio
crlf -> lf
r1032
Fernando Perez
Tools cleanup in getting ready for 0.10.rc....
r2115 # Build release files
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 sh('./build_release %s' % ipdir)
Ville M. Vainio
crlf -> lf
r1032
# Register with the Python Package Index (PyPI)
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 print( 'Registering with PyPI...')
Fernando Perez
Add 0.10.1 release notes to docs and minor tool updates....
r3135 cd(ipdir)
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 sh('./setup.py register')
Ville M. Vainio
crlf -> lf
r1032
# Upload all files
Fernando Perez
Minor fix to release script.
r7778 sh(sdists + ' upload')
MinRK
updates to release scripts...
r17581 for py in ('2.7', '3.4'):
MinRK
more minor fixes to release scripts...
r17631 sh('python%s setupegg.py bdist_wheel upload' % py)
MinRK
add wheels to release...
r16795
Fernando Perez
Add 0.10.1 release notes to docs and minor tool updates....
r3135 cd(distdir)
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 print( 'Uploading distribution files...')
Fernando Perez
Small fixes to release script to create remote paths.
r5791
MinRK
add GitHub uploads to release script
r8598 for fname in os.listdir('.'):
MinRK
updates to release scripts...
r17581 # TODO: update to GitHub releases API
MinRK
don't upload to GitHub in release script...
r12487 continue
MinRK
add GitHub uploads to release script
r8598 print('uploading %s to GitHub' % fname)
desc = "IPython %s source distribution" % version
post_download("ipython/ipython", fname, description=desc)
Fernando Perez
Small fixes to release script to create remote paths.
r5791 # Make target dir if it doesn't exist
sh('ssh %s "mkdir -p %s/release/%s" ' % (archive_user, archive_dir, version))
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 sh('scp * %s' % release_site)
Ville M. Vainio
crlf -> lf
r1032
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 print( 'Uploading backup files...')
Fernando Perez
Cleaned up release tools directory....
r2118 cd(ipbackupdir)
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 sh('scp `ls -1tr *tgz | tail -1` %s' % backup_site)
Ville M. Vainio
crlf -> lf
r1032
Fernando Perez
Update release-related tools, make more py3k-friendly.
r4450 print('Done!')