Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
139 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -e -x | ||
|
||
# Compile wheels | ||
for PYBIN in /opt/python/*/bin; do | ||
if [[ "${PYBIN}" == *"cp27"* ]] || \ | ||
[[ "${PYBIN}" == *"cp35"* ]] || \ | ||
[[ "${PYBIN}" == *"cp36"* ]] || \ | ||
[[ "${PYBIN}" == *"cp37"* ]] || \ | ||
[[ "${PYBIN}" == *"cp38"* ]]; then | ||
"${PYBIN}/pip" install -U pip setuptools cffi | ||
"${PYBIN}/pip" install -e /io/ | ||
"${PYBIN}/pip" wheel /io/ -w wheelhouse/ | ||
rm -rf /io/build /io/*.egg-info | ||
fi | ||
done | ||
|
||
# Bundle external shared libraries into the wheels | ||
for whl in wheelhouse/zope.security*.whl; do | ||
auditwheel repair "$whl" -w /io/wheelhouse/ | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -e -x | ||
|
||
docker run --rm -v "$(pwd)":/io $DOCKER_IMAGE $PRE_CMD /io/.manylinux-install.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,116 @@ | ||
language: python | ||
dist: xenial | ||
|
||
env: | ||
global: | ||
TWINE_USERNAME: zope.wheelbuilder | ||
TWINE_PASSWORD: | ||
secure: "U6CeZtNEPDN3qKXfrLcvHFLrowqNWxmapXLWygZRxKgfR+ypowe1Y0a4kCBEBZKtysbY26MmIkrMV07tEMxny1yUWVCvRvUaQw0Ic3t5CM0R019zjVh9fQUTdWGCwri86Qj/OaeuPeMR0LCr6d9nMSun0GWSWhjOUhkTCdchfQw=" | ||
|
||
python: | ||
- 2.7 | ||
- 3.5 | ||
- 3.6 | ||
- 3.7 | ||
- 3.8 | ||
- pypy | ||
- pypy3 | ||
|
||
matrix: | ||
include: | ||
- python: 2.7 | ||
- python: 3.5 | ||
- python: 3.6 | ||
- python: 3.7 | ||
- python: 3.8 | ||
- python: pypy2.7-6.0 | ||
- python: pypy3.5-6.0 | ||
- python: 2.7 | ||
env: | ||
- PURE_PYTHON=1 | ||
- ZOPE_WATCH_CHECKERS=1 | ||
- python: 3.7 | ||
|
||
- name: "Python: 2.7, pure (no C extensions), with ZOPE_WATCH_CHECKERS enabled" | ||
python: "2.7" | ||
env: PURE_PYTHON=1 ZOPE_WATCH_CHECKERS=1 | ||
|
||
- name: "Python: 3.7, with ZOPE_WATCH_CHECKERS enabled" | ||
python: 3.7 | ||
env: ZOPE_WATCH_CHECKERS=1 | ||
- python: 3.7 | ||
|
||
- name: "Python: 3.7, pure (no C extensions)" | ||
python: 3.7 | ||
env: PURE_PYTHON=1 | ||
|
||
# manylinux wheel builds | ||
- name: 64-bit manylinux wheels (all Pythons) | ||
services: docker | ||
env: DOCKER_IMAGE=quay.io/pypa/manylinux2010_x86_64 | ||
install: docker pull $DOCKER_IMAGE | ||
script: bash .manylinux.sh | ||
|
||
- name: 32-bit manylinux wheels (all Pythons) | ||
services: docker | ||
env: DOCKER_IMAGE=quay.io/pypa/manylinux2010_i686 PRE_CMD=linux32 | ||
install: docker pull $DOCKER_IMAGE | ||
script: bash .manylinux.sh | ||
|
||
# It's important to use 'macpython' builds to get the least | ||
# restrictive wheel tag. It's also important to avoid | ||
# 'homebrew 3' because it floats instead of being a specific version. | ||
- name: Python 2.7 wheels for MacOS | ||
os: osx | ||
language: generic | ||
env: TERRYFY_PYTHON='macpython 2.7.17' | ||
- name: Python 3.5 wheels for MacOS | ||
os: osx | ||
language: generic | ||
env: TERRYFY_PYTHON='macpython 3.5' | ||
- name: Python 3.6 wheels for MacOS | ||
os: osx | ||
language: generic | ||
env: TERRYFY_PYTHON='macpython 3.6.0' | ||
- name: Python 3.7 wheels for MacOS | ||
os: osx | ||
language: generic | ||
env: TERRYFY_PYTHON='macpython 3.7.0' | ||
|
||
before_install: | ||
- | | ||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then | ||
git clone https://github.com/MacPython/terryfy | ||
source terryfy/travis_tools.sh | ||
get_python_environment $TERRYFY_PYTHON venv | ||
fi | ||
install: | ||
- pip install -U pip setuptools | ||
- pip install -U coveralls coverage | ||
- pip install -U -e .[test,docs] | ||
- pip install -U pip setuptools | ||
- pip install -U coveralls coverage | ||
# pip install zope.proxy here because because setup_requires will use | ||
# easy_install, which fails on Python 3.5 on Mac OS | ||
- pip install -U zope.proxy | ||
- pip install -U -e .[test,docs] | ||
|
||
script: | ||
- coverage run -m zope.testrunner --test-path=src | ||
- coverage run -a -m sphinx -b doctest -d docs/_build/doctrees docs docs/_build/doctest | ||
- python --version | ||
- coverage run -m zope.testrunner --test-path=src | ||
- coverage run -a -m sphinx -b doctest -d docs/_build/doctrees docs docs/_build/doctest | ||
- python setup.py bdist_wheel | ||
|
||
after_success: | ||
- coveralls | ||
- coveralls | ||
- | | ||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then | ||
# macpython 3.5 doesn't support recent TLS protocols which causes twine | ||
# upload to fail, so we use the system Python to run twine | ||
/usr/bin/python -m ensurepip --user | ||
/usr/bin/python -m pip install --user -U pip | ||
/usr/bin/python -m pip install --user -U -I twine | ||
/usr/bin/python -m twine check dist/* | ||
if [[ $TRAVIS_TAG ]]; then | ||
/usr/bin/python -m twine upload --skip-existing dist/* | ||
fi | ||
fi | ||
- | | ||
if [[ -n "$DOCKER_IMAGE" ]]; then | ||
pip install twine | ||
twine check wheelhouse/* | ||
if [[ $TRAVIS_TAG ]]; then | ||
twine upload --skip-existing wheelhouse/* | ||
fi | ||
fi | ||
notifications: | ||
email: false | ||
email: false | ||
|
||
cache: pip | ||
before_cache: | ||
- rm -f $HOME/.cache/pip/log/debug.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters