diff --git a/.gitignore b/.gitignore index 37d70ed..e946d10 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ htmlcov/ _build/ .ipynb_checkpoints/ .cache +wheelhouse/ diff --git a/build-all-wheels.sh b/build-all-wheels.sh new file mode 100755 index 0000000..228c728 --- /dev/null +++ b/build-all-wheels.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex +export DOCKER_IMAGE=quay.io/pypa/manylinux2014_x86_64 +export PLAT=manylinux2014_x86_64 +docker run --rm -e PLAT=$PLAT -v `pwd`:/io $DOCKER_IMAGE /io/build-wheels.sh + +twine upload wheelhouse/*manylinux* diff --git a/build-wheels.sh b/build-wheels.sh new file mode 100755 index 0000000..90af574 --- /dev/null +++ b/build-wheels.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# https://github.com/pypa/python-manylinux-demo/blob/master/travis/build-wheels.sh + +function repair_wheel { + wheel="$1" + if ! auditwheel show "$wheel"; then + echo "Skipping non-platform wheel $wheel" + else + auditwheel repair "$wheel" --plat "$PLAT" -w /io/wheelhouse/ + fi +} + +# compile wheels +for PYBIN in /opt/python/cp3*/bin; do + "${PYBIN}/pip" install /io/ + "${PYBIN}/pip" wheel /io/ --no-deps -w /io/wheelhouse/ +done + +# repair wheels +for whl in /io/wheelhouse/*.whl; do + repair_wheel "$whl" +done + +# copy testdata somewhere and test that the wheels work +cp -r /io/testdata/ $HOME +for PYBIN in /opt/python/cp3*/bin; do + "${PYBIN}/pip" install pytest + "${PYBIN}/pip" install jellyfish --no-index -f /io/wheelhouse + (cd "$HOME"; "${PYBIN}/pytest" --pyargs jellyfish.test) +done diff --git a/docs/changelog.rst b/docs/changelog.rst index 3d47a61..92b8ffc 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -11,6 +11,7 @@ Changelog * fix metaphone bug with leading vowels and 'kn' pair, #123 * fix Python jaro_winkler bug #124 * fix Python 3.9 deprecation warning +* add manylinux wheels 0.7.2 - 5 June 2019 -----------------------