| # 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 }} |