##// END OF EJS Templates
Skip some failing tests on Windows...
Skip some failing tests on Windows The failures are not important, and we need to rewrite the completion machinery anyway. Closes gh-9839

File last commit:

r22714:39437f08
r22761:c7baf618
Show More
release
89 lines | 2.3 KiB | text/plain | TextLexer
#!/usr/bin/env python
"""IPython release script.
This should ONLY be run at real release time.
"""
from __future__ import print_function
import os
import sys
from toollib import (get_ipdir, pjoin, cd, execfile, sh, archive,
sdists, archive_user, archive_dir, buildwheels)
from gh_api import post_download
# 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')
if not os.path.exists(ipbackupdir):
os.makedirs(ipbackupdir)
# Start in main IPython dir
cd(ipdir)
# Load release info
version = None
execfile(pjoin('IPython','core','release.py'), globals())
# Build site addresses for file uploads
release_site = '%s/release/%s' % (archive, version)
backup_site = '%s/backup/' % archive
# 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)
if 'upload' in sys.argv:
cd(distdir)
print( 'Uploading distribution files to GitHub...')
for fname in os.listdir('.'):
# TODO: update to GitHub releases API
continue
print('uploading %s to GitHub' % fname)
desc = "IPython %s source distribution" % version
post_download("ipython/ipython", fname, description=desc)
# Make target dir if it doesn't exist
print('Uploading IPython to backup site.')
sh('ssh %s "mkdir -p %s/release/%s" ' % (archive_user, archive_dir, version))
sh('scp * %s' % release_site)
print( 'Uploading backup files...')
cd(ipbackupdir)
sh('scp `ls -1tr *tgz | tail -1` %s' % backup_site)
print('Done!')
print('Use `twine upload dist/*` to upload the files to PyPI')
else:
sh('./make_tarball.py')
sh('mv ipython-*.tgz %s' % ipbackupdir)
# Build release files
sh('./build_release %s' % ipdir)
# Not Registering with PyPI, registering with setup.py is insecure as communication is not encrypted
cd(ipdir)
# Upload all files
sh(sdists)
buildwheels()
print("`./release upload` to upload source distribution on github and ipython archive")
sys.exit(0)