| # 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: xcode8.3 |
| language: generic |
| |
| # don't build twice |
| if: tag IS blank |
| |
| env: |
| global: |
| - PLAT=x86_64 |
| - TRAVIS_TAG={{ task.tag }} |
| - MACOSX_DEPLOYMENT_TARGET="10.9" |
| - PYARROW_VERSION={{ arrow.no_rc_version }} |
| - PYARROW_BUILD_VERBOSE=1 |
| - MB_PYTHON_VERSION={{ python_version }} |
| |
| 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 |
| - git --version |
| - brew upgrade git |
| |
| # Also remove artifacts that depend on Boost |
| - brew uninstall boost cgal postgis sfcgal |
| - brew update |
| - brew upgrade cmake |
| - brew install bison flex grpc openssl llvm@7 zlib |
| # 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 |
| |
| - 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: |
| - mkdir -p dist |
| |
| # 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 zlib |
| # 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 |
| |
| # move built wheels to a top level directory |
| - mv -v arrow/python/dist/* dist/ |
| # reinstall openssl because travis' deployment script depends on it |
| - brew install openssl |
| |
| deploy: |
| provider: releases |
| api_key: $CROSSBOW_GITHUB_TOKEN |
| file_glob: true |
| file: dist/*.whl |
| skip_cleanup: true |
| on: |
| tags: true |
| |
| notifications: |
| email: |
| - {{ job.email }} |