summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2017-01-19 09:18:11 -0500
committerNed Batchelder <ned@nedbatchelder.com>2017-01-19 09:18:11 -0500
commit9921aa1805926b4b7c7b7532abe29e8d512f6663 (patch)
tree8fa4737775c554564b48152218035f085fc70d03
parentfec9f330fff2a1c0c8f7e9424d8139b5e462020b (diff)
downloadpython-coveragepy-git-9921aa1805926b4b7c7b7532abe29e8d512f6663.tar.gz
Process to build manylinux wheels
-rw-r--r--Makefile4
-rwxr-xr-xci/build_manylinux.sh27
-rw-r--r--howto.txt7
3 files changed, 37 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index c8c875dc..7e2eae10 100644
--- a/Makefile
+++ b/Makefile
@@ -69,6 +69,10 @@ kit:
wheel:
tox -c tox_wheels.ini $(ARGS)
+manylinux:
+ docker run -v `pwd`:/io quay.io/pypa/manylinux1_x86_64 /io/ci/build_manylinux.sh
+ docker run -v `pwd`:/io quay.io/pypa/manylinux1_i686 /io/ci/build_manylinux.sh
+
kit_upload:
twine upload dist/*
diff --git a/ci/build_manylinux.sh b/ci/build_manylinux.sh
new file mode 100755
index 00000000..4ab64eb7
--- /dev/null
+++ b/ci/build_manylinux.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+# From: https://github.com/pypa/python-manylinux-demo/blob/master/travis/build-wheels.sh
+# which is in the public domain.
+#
+# This is run inside a Centos 5 virtual machine to build manylinux wheels.
+
+set -e -x
+
+# Install a system package required by our library
+yum install -y atlas-devel
+
+# Compile wheels
+for PYBIN in /opt/python/*/bin; do
+ "${PYBIN}/pip" install -r /io/requirements/wheel.pip
+ "${PYBIN}/pip" wheel /io/ -w wheelhouse/
+done
+
+# Bundle external shared libraries into the wheels
+for whl in wheelhouse/*.whl; do
+ auditwheel repair "$whl" -w /io/dist/
+done
+
+# Install packages and test
+# for PYBIN in /opt/python/*/bin/; do
+# "${PYBIN}/pip" install python-manylinux-demo --no-index -f /io/dist
+# (cd "$HOME"; "${PYBIN}/nosetests" pymanylinuxdemo)
+# done
diff --git a/howto.txt b/howto.txt
index d14f29c9..8ee186e6 100644
--- a/howto.txt
+++ b/howto.txt
@@ -44,8 +44,13 @@
- Build and publish docs:
$ make publish
- Kits:
+ - Start fresh:
+ - $ make clean
- Source kit and wheels:
- - $ make clean kit wheel
+ - $ make kit wheel
+ - Linux wheels:
+ - this takes an hour... Maybe can do both flavors at once?
+ - $ make manylinux
- Windows kits
- wait for over an hour for Appveyor to build kits.
- https://ci.appveyor.com/project/nedbat/coveragepy