From 44570223ea9c72ef8c89ea76632df1ecb69b5fab Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Sun, 1 Oct 2017 05:17:42 +0000 Subject: Handle 3.4 release, add release docs --- release.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/release.sh b/release.sh index 02a90f1..623a161 100755 --- a/release.sh +++ b/release.sh @@ -1,4 +1,12 @@ #!/bin/bash +# +# As of 1.11.0 we can't ship the same wheels for python 2 and 3 because python +# 3.4+ use a pure python crypto implementation and those before use a native +# extension for crypto. Because wheels encode setup.py dependencies statically +# and there isn't yet a well supported (across setuptools and pip) way to +# declare python-specific dependencies statically we're stuck with this +# aberration. +# [ -e .release ] && rm -rf .release mkdir .release @@ -10,12 +18,19 @@ python3 -m venv .release/py3 # Bootstrap Python 2 Environment .release/py3/bin/virtualenv -p python2 .release/py2 -# Build Python 3 Artifacts -.release/py3/bin/python setup.py bdist_wheel --python-tag py3 +echo "Building Python 3 Artifact" +.release/py3/bin/python setup.py validate bdist_wheel --python-tag py3 + +echo "Building Source Dist Artifact" .release/py3/bin/python setup.py sdist -# Build Python 2 Artifacts -.release/py2/bin/python setup.py bdist_wheel --python-tag py2 +echo "Building Python 3.4 Artifact" +# We must install the wheel with pip to avoid compiling native code +.release/py2/bin/pip install cryptography +.release/py2/bin/python setup.py bdist_wheel --python-tag py34 + +echo "Building Python 2 Artifact" +.release/py2/bin/python setup.py validate bdist_wheel --python-tag py2 # Upload it all .release/py3/bin/twine upload dist/* -- cgit v1.2.3