blob: cdf39bc58b5de2f15971a1c6a33dc40aef42941f [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
os: osx
osx_image: xcode9.3
language: generic
# don't build twice
if: tag IS blank
env:
global:
- PLAT=x86_64
- TRAVIS_TAG={{ task.tag }}
- PYARROW_VERSION={{ arrow.no_rc_version }}
- PYARROW_BUILD_VERBOSE=1
- MB_PYTHON_VERSION={{ python_version }}
- MACOSX_DEPLOYMENT_TARGET="10.9"
before_install:
- git clone https://github.com/matthew-brett/multibuild # TODO pin it
- git -C multibuild checkout 4e7a9396e9a50731bb83fc0d16bb98fb0c4032d7
- git clone --no-checkout {{ arrow.remote }} arrow
- git -C arrow fetch -t {{ arrow.remote }} {{ arrow.branch }}
- git -C arrow checkout FETCH_HEAD
# ARROW-3976 Old versions of git can cause failures when Homebrew prints a
# donation solicitation. Attempt to update git
- brew upgrade git python
# Also remove artifacts that depend on Boost
- brew uninstall boost cgal postgis sfcgal
- brew update
- brew upgrade cmake
- travis_wait 30 brew install bison flex grpc openssl@1.1 llvm@7 zlib gperftools
# remove shared grpc libraries installed by brew to make sure
# we are linked against the static ones.
- rm -f /usr/local/opt/grpc/lib/*.dylib
# source utilities required for wheel builds
- export CONFIG_PATH=`pwd`/arrow/dev/tasks/python-wheels/osx-build.sh
- source multibuild/common_utils.sh
- source multibuild/travis_osx_steps.sh
- before_install
# Fix SSL TLS issue for Python 3.5 on macOS
- pip install requests[security]
install:
# the following functions are defined in osx-build.sh
- build_wheel arrow
# test the built wheels, remove llvm and grpc dependencies to ensure
# things are properly statically-linked
- brew uninstall --ignore-dependencies llvm@7 grpc c-ares openssl openssl@1.1 zlib gperftools
# install the built wheel and test dependencies
- install_wheel arrow
# run unit tests before removing the system libraries
- run_unit_tests arrow
# remove libz to ensure that it is properly bundled
- sudo find /usr -name libz.* -delete
# run the import tests
- run_import_tests
- brew install openssl@1.1
# before_install activates a virtualenv but we need the system python3
- deactivate
# crossbow dependencies for deployment
- unset MACOSX_DEPLOYMENT_TARGET
- pip3 install click ruamel.yaml setuptools_scm github3.py toolz requests[security]
- python3 arrow/dev/tasks/crossbow.py --queue-path $(pwd) --queue-remote {{ queue.remote_url }} upload-artifacts --sha {{ task.branch }} --tag {{ task.tag }} --pattern "arrow/python/dist/*.whl"
notifications:
email:
- {{ job.email }}