summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorForest Gregg <fgregg@users.noreply.github.com>2017-04-21 14:57:10 -0500
committerGitHub <noreply@github.com>2017-04-21 14:57:10 -0500
commit9aa5713a449a181e050a0e02d044cbc4017a146c (patch)
tree989a2486e95093fc460a679d5ab2d09b30166492
parent76abebe7a11b092fdc3e39b1bd44cc14d4cfa3cc (diff)
parent37994ff025b8799910edfe2948b66f7c4de7a4a0 (diff)
downloadzope-interface-9aa5713a449a181e050a0e02d044cbc4017a146c.tar.gz
Merge pull request #78 from zopefoundation/manylinux
CI setup for manylinux wheels on tagged commit
-rwxr-xr-x.manylinux-install.sh21
-rw-r--r--.manylinux.sh9
-rw-r--r--.travis.yml15
3 files changed, 44 insertions, 1 deletions
diff --git a/.manylinux-install.sh b/.manylinux-install.sh
new file mode 100755
index 0000000..c98313b
--- /dev/null
+++ b/.manylinux-install.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+
+set -e -x
+
+# Compile wheels
+for PYBIN in /opt/python/*/bin; do
+ if [[ "${PYBIN}" == *"cp27"* ]] || \
+ [[ "${PYBIN}" == *"cp33"* ]] || \
+ [[ "${PYBIN}" == *"cp34"* ]] || \
+ [[ "${PYBIN}" == *"cp35"* ]] || \
+ [[ "${PYBIN}" == *"cp36"* ]]; then
+ "${PYBIN}/pip" install -e /io/
+ "${PYBIN}/pip" wheel /io/ -w wheelhouse/
+ fi
+done
+
+# Bundle external shared libraries into the wheels
+for whl in wheelhouse/zope.interface*.whl; do
+ auditwheel repair "$whl" -w /io/wheelhouse/
+done
+
diff --git a/.manylinux.sh b/.manylinux.sh
new file mode 100644
index 0000000..037a3b2
--- /dev/null
+++ b/.manylinux.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+set -e -x
+
+docker pull $DOCKER_IMAGE
+
+docker run --rm -v `pwd`:/io $DOCKER_IMAGE $PRE_CMD /io/.manylinux-install.sh
+
+pip install twine && twine upload -u zope.wheelbuilder -p $PYPIPASSWORD wheelhouse/*
diff --git a/.travis.yml b/.travis.yml
index f9683ff..dbc7a79 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -31,11 +31,24 @@ matrix:
- os: osx
language: generic
env: TERRYFY_PYTHON='macpython 3.6.0'
+ - services:
+ - docker
+ env: DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
+ before_install:
+ - if [[ $TRAVIS_TAG ]]; then bash .manylinux.sh; fi
+ - exit 0
+ - services:
+ - docker
+ env:
+ - DOCKER_IMAGE=quay.io/pypa/manylinux1_i686
+ - PRE_CMD=linux32
+ before_install:
+ - if [[ $TRAVIS_TAG ]]; then bash .manylinux.sh; fi
+ - exit 0
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then git clone https://github.com/MacPython/terryfy; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then source terryfy/travis_tools.sh; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then get_python_environment $TERRYFY_PYTHON venv; fi
- - if [[ "$TERRYFY_PYTHON" == "homebrew 3" ]]; then alias pip=`which pip3` ; fi
install:
- pip install -e .[test]
script: