update travis ci to do aarch64 builds
* update travis ci to do aarch64 builds
Build aarch64 wheels for tagged builds. Pypy is skipped on arm because
the aarch64 build of pypy is not yet available.
* remove 3.9 since it is not building on travis
ADD
.travis.yml
+language: python
+sudo: required
+dist: bionic
+arch:
+ - arm64
+python:
+ - "3.6"
+ - "3.7"
+ - "3.8"
+
+before_install:
+ - sudo apt-get install -y libsnappy-dev
+ - pip install python-snappy
+install:
+ - pip install -r developer_requirements.txt
+script:
+ - ./run-tests.sh
+ - codecov
+ - export DOCKER_IMAGE=quay.io/pypa/manylinux2014_$(arch)
+
+after_success:
+ - if [[ $TRAVIS_TAG && "$TRAVIS_OS_NAME" == "linux" && $TRAVIS_PYTHON_VERSION != *"pypy"* ]]; then
+ docker run --rm -v "$(pwd):/data" $DOCKER_IMAGE bash -c "/data/.travis_build_wheel.sh $TRAVIS_PYTHON_VERSION";
+ fi;
+
+deploy:
+ provider: releases
+ api_key:
+ secure: "DqDkKBKw20riyr1WeRZtMEUlmD9cCJNf/JJD5res8HSx8wUz+rI1aDpk0wCaehdLS2zsvUpf027EHfkseUZaMr3wMfwHQ9FxSEOZ04K8Wmxqk60bzEHwqL6xBe7M3K3RxYUKH6oZDekN2I0imkllHA4v6iG0JGmoacNAos60NdA="
+ file_glob: true
+ file: 'dist/fastavro-*.whl'
+ skip_cleanup: true
+ on:
+ tags: true
+ condition: $TRAVIS_PYTHON_VERSION != *"pypy"*

ADD
.travis_build_wheel.sh
+#!/bin/bash
+
+cd `dirname $0`
+
+# The version comes in as something like 3.6, but we need it to be 36 for the
+# path in the container so we remove the period
+TRAVIS_PYTHON_VERSION=$1
+TRAVIS_PYTHON_VERSION=${TRAVIS_PYTHON_VERSION/.}
+
+versions="cp${TRAVIS_PYTHON_VERSION}-cp${TRAVIS_PYTHON_VERSION}
+cp${TRAVIS_PYTHON_VERSION}-cp${TRAVIS_PYTHON_VERSION}m
+cp${TRAVIS_PYTHON_VERSION}-cp${TRAVIS_PYTHON_VERSION}mu"
+
+for version in ${versions}; do
+ echo $version
+ if ls /opt/python/${version} &> /dev/null; then
+ /opt/python/${version}/bin/pip install cython
+ FASTAVRO_USE_CYTHON=1 /opt/python/${version}/bin/python setup.py bdist_wheel
+ fi
+done
+
+# Fix wheel
+for whl in dist/*.whl; do
+ auditwheel repair "$whl" -w dist
+done
+
+# Remove unfixed wheel
+rm -rf dist/fastavro-*-linux_*
+# Remove the manylinux1 wheel
+rm -rf dist/fastavro-*-manylinux1_*

update travis ci to do aarch64 builds (#475)

* update travis ci to do aarch64 builds

Build aarch64 wheels for tagged builds. Pypy is skipped on arm because
the aarch64 build of pypy is not yet available.

* remove 3.9 since it is not building on travis

Co-authored-by: Scott Belden <scottabelden@gmail.com>