From e7a92682395d07c892826207d387575aaa2680a1 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Wed, 19 Jun 2019 17:03:36 +0900 Subject: [PATCH] [GLib][CI] Use Xcode 10.2 --- .travis.yml | 9 ++++--- ci/travis_before_script_cpp.sh | 14 +++++++++++ ci/travis_env_common.sh | 4 ---- ci/travis_install_osx.sh | 44 ++++++++++++++-------------------- ci/travis_install_osx_sdk.sh | 38 ++++++++++++++++------------- cpp/Brewfile | 12 ++++++++++ 6 files changed, 72 insertions(+), 49 deletions(-) diff --git a/.travis.yml b/.travis.yml index b2c2724bff1..c68440293b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -280,15 +280,18 @@ matrix: script: - if [ $ARROW_CI_C_GLIB_AFFECTED = "1" ]; then $TRAVIS_BUILD_DIR/ci/travis_script_c_glib.sh; fi - $TRAVIS_BUILD_DIR/ci/travis_script_ruby.sh - - name: "[OS X] C++ & GLib & Ruby w/ XCode 8.3 & homebrew" + - name: "[OS X] C++ & GLib & Ruby w/ XCode 10.2 & Homebrew" compiler: clang - osx_image: xcode8.3 + osx_image: xcode10.2 os: osx env: - - ARROW_TRAVIS_ORC=1 + - ARROW_TRAVIS_FLIGHT=1 - ARROW_TRAVIS_GANDIVA=1 + - ARROW_TRAVIS_ORC=1 - ARROW_TRAVIS_PARQUET=1 - ARROW_TRAVIS_PLASMA=1 + - ARROW_TRAVIS_PYTHON=1 + - ARROW_TRAVIS_VERBOSE=1 cache: addons: before_script: diff --git a/ci/travis_before_script_cpp.sh b/ci/travis_before_script_cpp.sh index b0917d845e5..5ee5eb79beb 100755 --- a/ci/travis_before_script_cpp.sh +++ b/ci/travis_before_script_cpp.sh @@ -84,6 +84,12 @@ if [ "$ARROW_TRAVIS_USE_TOOLCHAIN" == "1" ]; then # Make sure the toolchain linker (from binutils package) is picked up by clang ARROW_CXXFLAGS="$ARROW_CXXFLAGS -B$CPP_TOOLCHAIN/bin" fi + export TRAVIS_MAKE=ninja +elif [ "$using_homebrew" = "yes" ]; then + CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -GNinja" + export TRAVIS_MAKE=ninja +else + export TRAVIS_MAKE=make fi if [ "$ARROW_TRAVIS_FLIGHT" == "1" ]; then @@ -106,6 +112,14 @@ if [ "$ARROW_TRAVIS_ORC" == "1" ]; then CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -DARROW_ORC=ON" fi +if [ "$ARROW_TRAVIS_PYTHON" == "1" ]; then + CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -DARROW_PYTHON=ON" + if [ "$using_homebrew" == "yes" ]; then + CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS \ +-DPYTHON_EXECUTABLE=$(brew --prefix python)/bin/python3" + fi +fi + if [ "$ARROW_TRAVIS_PARQUET" == "1" ]; then CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS \ -DARROW_PARQUET=ON \ diff --git a/ci/travis_env_common.sh b/ci/travis_env_common.sh index d0cc415e113..922b37af312 100755 --- a/ci/travis_env_common.sh +++ b/ci/travis_env_common.sh @@ -63,10 +63,6 @@ export ARROW_BUILD_WARNING_LEVEL=${ARROW_BUILD_WARNING_LEVEL:=Production} if [ "$ARROW_TRAVIS_USE_TOOLCHAIN" == "1" ]; then # C++ toolchain export CPP_TOOLCHAIN=$TRAVIS_BUILD_DIR/cpp-toolchain - - export TRAVIS_MAKE=ninja -else - export TRAVIS_MAKE=make fi if [ $TRAVIS_OS_NAME == "osx" ]; then diff --git a/ci/travis_install_osx.sh b/ci/travis_install_osx.sh index 932a2d00786..38e971710de 100755 --- a/ci/travis_install_osx.sh +++ b/ci/travis_install_osx.sh @@ -21,31 +21,23 @@ set -x set -e if [ "$ARROW_CI_RUBY_AFFECTED" = "1" ]; then - brew_log_path=brew.log - function run_brew() { - local i=0 - local n_tries=3 - while [[ $((i++)) < ${n_tries} ]]; do - echo "${i}: brew" "$@" >> ${brew_log_path} - if gtimeout --signal=KILL 9m brew "$@" >> ${brew_log_path} 2>&1; then - break - elif [[ ${i} == ${n_tries} ]]; then - cat ${brew_log_path} - rm ${brew_log_path} - false - fi - done - } + brew_log_path=brew.log + function run_brew() { + local i=0 + local n_tries=3 + while [[ $((i++)) < ${n_tries} ]]; do + echo "${i}: brew" "$@" >> ${brew_log_path} + if gtimeout --signal=KILL 9m brew "$@" >> ${brew_log_path} 2>&1; then + break + elif [[ ${i} == ${n_tries} ]]; then + cat ${brew_log_path} + rm ${brew_log_path} + false + fi + done + } - # ARROW-3976 Old versions of git can cause failures when Homebrew prints a - # donation solicitation. Attempt to update git - git --version - run_brew upgrade git - - run_brew update - run_brew upgrade python - run_brew uninstall postgis - run_brew bundle --file=$TRAVIS_BUILD_DIR/cpp/Brewfile --verbose - run_brew bundle --file=$TRAVIS_BUILD_DIR/c_glib/Brewfile --verbose - rm ${brew_log_path} + run_brew bundle --file=$TRAVIS_BUILD_DIR/cpp/Brewfile --verbose + run_brew bundle --file=$TRAVIS_BUILD_DIR/c_glib/Brewfile --verbose + rm ${brew_log_path} fi diff --git a/ci/travis_install_osx_sdk.sh b/ci/travis_install_osx_sdk.sh index 3c3624cdb00..67c089a310a 100755 --- a/ci/travis_install_osx_sdk.sh +++ b/ci/travis_install_osx_sdk.sh @@ -19,22 +19,28 @@ set -ex -export MACOSX_DEPLOYMENT_TARGET="10.9" -export CONDA_BUILD_SYSROOT="$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${MACOSX_DEPLOYMENT_TARGET}.sdk" +if [ ${using_homebrew} = "yes" ]; then + sudo \ + installer \ + -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg \ + -target / +else + export MACOSX_DEPLOYMENT_TARGET="10.9" + export CONDA_BUILD_SYSROOT="$(xcode-select -p)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${MACOSX_DEPLOYMENT_TARGET}.sdk" -if [[ ! -d ${CONDA_BUILD_SYSROOT} || "$OSX_FORCE_SDK_DOWNLOAD" == "1" ]]; then - echo "downloading ${macosx_deployment_target} sdk" - curl -L -O https://github.com/phracker/MacOSX-SDKs/releases/download/10.13/MacOSX${MACOSX_DEPLOYMENT_TARGET}.sdk.tar.xz - tar -xf MacOSX${MACOSX_DEPLOYMENT_TARGET}.sdk.tar.xz -C "$(dirname "$CONDA_BUILD_SYSROOT")" - # set minimum sdk version to our target - plutil -replace MinimumSDKVersion -string ${MACOSX_DEPLOYMENT_TARGET} $(xcode-select -p)/Platforms/MacOSX.platform/Info.plist - plutil -replace DTSDKName -string macosx${MACOSX_DEPLOYMENT_TARGET}internal $(xcode-select -p)/Platforms/MacOSX.platform/Info.plist -fi + if [[ ! -d ${CONDA_BUILD_SYSROOT} || "$OSX_FORCE_SDK_DOWNLOAD" == "1" ]]; then + echo "downloading ${macosx_deployment_target} sdk" + curl -L -O https://github.com/phracker/MacOSX-SDKs/releases/download/10.13/MacOSX${MACOSX_DEPLOYMENT_TARGET}.sdk.tar.xz + tar -xf MacOSX${MACOSX_DEPLOYMENT_TARGET}.sdk.tar.xz -C "$(dirname "$CONDA_BUILD_SYSROOT")" + # set minimum sdk version to our target + plutil -replace MinimumSDKVersion -string ${MACOSX_DEPLOYMENT_TARGET} $(xcode-select -p)/Platforms/MacOSX.platform/Info.plist + plutil -replace DTSDKName -string macosx${MACOSX_DEPLOYMENT_TARGET}internal $(xcode-select -p)/Platforms/MacOSX.platform/Info.plist + fi -if [ -d "${CONDA_BUILD_SYSROOT}" ]; then - echo "Found CONDA_BUILD_SYSROOT: ${CONDA_BUILD_SYSROOT}" -else - echo "Missing CONDA_BUILD_SYSROOT: ${CONDA_BUILD_SYSROOT}" - exit 1 + if [ -d "${CONDA_BUILD_SYSROOT}" ]; then + echo "Found CONDA_BUILD_SYSROOT: ${CONDA_BUILD_SYSROOT}" + else + echo "Missing CONDA_BUILD_SYSROOT: ${CONDA_BUILD_SYSROOT}" + exit 1 + fi fi - diff --git a/cpp/Brewfile b/cpp/Brewfile index a5ee9d121a8..c6588873d32 100644 --- a/cpp/Brewfile +++ b/cpp/Brewfile @@ -17,12 +17,24 @@ brew "automake" brew "boost" +brew "brotli" brew "ccache" brew "cmake" brew "double-conversion" +brew "flatbuffers" brew "git" brew "glog" +brew "grpc" brew "llvm@7" +brew "lz4" brew "ninja" +brew "numpy" +brew "openssl" +brew "protobuf" +brew "python" +brew "rapidjson" +brew "re2" +brew "snappy" brew "thrift" brew "wget" +brew "zstd"