packages:
- libgnutls-dev
-# For a list of available versions, run
+env:
+ global:
+ - CIBW_ENVIRONMENT="PYCURL_SSL_LIBRARY=nss"
+ - CIBW_BEFORE_BUILD="yum install -y libcurl-devel openssl-devel"
+ - CIBW_TEST_REQUIRES="tox"
+
+# For a list of available versions,run
# aws s3 ls s3://travis-python-archives/binaries/ubuntu/16.04/x86_64/
jobs:
fast_finish: true
# Twisted doesn't install on python 3.5.2, so don't run the "full" tests.
env: TOX_ENV=py35
- python: '3.5'
- env: TOX_ENV=py35-full
+ services: docker
+ env: TOX_ENV=py35-full BUILD_WHEEL=1 CIBW_BUILD=cp35-manylinux_x86_64
+ - python: '3.5'
+ arch: arm64
+ services: docker
+ env: TOX_ENV=py35-full BUILD_WHEEL=1 CIBW_BUILD=cp35-manylinux_aarch64
- python: '3.6'
- env: TOX_ENV=py36-full
+ services: docker
+ env: TOX_ENV=py36-full BUILD_WHEEL=1 CIBW_BUILD=cp36-manylinux_x86_64
+ - python: '3.6'
+ arch: arm64
+ services: docker
+ env: TOX_ENV=py36-full BUILD_WHEEL=1 CIBW_BUILD=cp36-manylinux_aarch64
+ - python: '3.7'
+ services: docker
+ env: TOX_ENV=py37-full BUILD_WHEEL=1 CIBW_BUILD=cp37-manylinux_x86_64
- python: '3.7'
- env: TOX_ENV=py37-full
+ arch: arm64
+ services: docker
+ env: TOX_ENV=py37-full BUILD_WHEEL=1 CIBW_BUILD=cp37-manylinux_aarch64
- python: '3.8'
- env: TOX_ENV=py38-full
+ services: docker
+ env: TOX_ENV=py38-full BUILD_WHEEL=1 CIBW_BUILD=cp38-manylinux_x86_64
+ - python: '3.8'
+ arch: arm64
+ services: docker
+ env: TOX_ENV=py38-full BUILD_WHEEL=1 CIBW_BUILD=cp38-manylinux_aarch64
- python: pypy3.5-5.10.1
# Pypy is a lot slower due to jit warmup costs, so don't run the "full"
# test config there.
# Docs and lint python versions must be synced with those in tox.ini
- python: '3.8'
env: TOX_ENV=docs
+ - python: '3.8'
+ arch: arm64
+ env: TOX_ENV=docs
- python: '3.8'
env: TOX_ENV=lint
allow_failures:
- python: nightly
install:
+ - |
+ if [[ -n ${BUILD_WHEEL} ]]; then
+ # To test it's own built wheel
+ export CIBW_TEST_COMMAND="cd {project} && tox -e $TOX_ENV"
+ pip install -U cibuildwheel
+ cibuildwheel --output-dir dist
+ fi
- travis_retry pip install tox
- python -VV
- curl-config --version; pip freeze
script:
- - "tox -e $TOX_ENV -- $TOX_ARGS"
+ - |
+ # Skipping the tests for which we have already tested using it's own built wheel
+ if [[ -z ${BUILD_WHEEL} ]]; then
+ tox -e $TOX_ENV -- $TOX_ARGS
+ fi
{py3,py36,py37,py38}: TORNADO_EXTENSION=1
# CI workers are often overloaded and can cause our tests to exceed
# the default timeout of 5s.
- ASYNC_TEST_TIMEOUT=15
+ ASYNC_TEST_TIMEOUT=25
# Treat warnings as errors by default. We have a whitelist of
# allowed warnings in runtests.py, but we want to be strict
# about any import-time warnings before that setup code is