Repository: parquet-cpp Updated Branches: refs/heads/master c4caaf036 -> af307f8f9
PARQUET-988: Add toolchain Linux build using conda Author: Wes McKinney <[email protected]> Closes #330 from wesm/PARQUET-988 and squashes the following commits: 9a60a52 [Wes McKinney] Use arrow-cpp in toolchain. allow failure in toolchain build 4411628 [Wes McKinney] Don't run default before_script 16b3797 [Wes McKinney] Add toolchain Linux build using conda Project: http://git-wip-us.apache.org/repos/asf/parquet-cpp/repo Commit: http://git-wip-us.apache.org/repos/asf/parquet-cpp/commit/af307f8f Tree: http://git-wip-us.apache.org/repos/asf/parquet-cpp/tree/af307f8f Diff: http://git-wip-us.apache.org/repos/asf/parquet-cpp/diff/af307f8f Branch: refs/heads/master Commit: af307f8f9dfa181341b8511af0679ab84f79cdf5 Parents: c4caaf0 Author: Wes McKinney <[email protected]> Authored: Mon May 15 16:31:00 2017 -0400 Committer: Wes McKinney <[email protected]> Committed: Mon May 15 16:31:00 2017 -0400 ---------------------------------------------------------------------- .travis.yml | 8 ++++ ci/travis_script_toolchain.sh | 66 ++++++++++++++++++++++++++++ cmake_modules/ThirdpartyToolchain.cmake | 2 +- 3 files changed, 75 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/af307f8f/.travis.yml ---------------------------------------------------------------------- diff --git a/.travis.yml b/.travis.yml index f3c0c21..540cc09 100644 --- a/.travis.yml +++ b/.travis.yml @@ -37,9 +37,17 @@ addons: - pkg-config matrix: fast_finish: true + allow_failures: + - env: PARQUET_BUILD_GROUP=toolchain include: - compiler: gcc os: linux + - compiler: gcc + os: linux + env: PARQUET_BUILD_GROUP=toolchain + before_script: + script: + - $TRAVIS_BUILD_DIR/ci/travis_script_toolchain.sh - compiler: clang os: linux - compiler: clang http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/af307f8f/ci/travis_script_toolchain.sh ---------------------------------------------------------------------- diff --git a/ci/travis_script_toolchain.sh b/ci/travis_script_toolchain.sh new file mode 100755 index 0000000..cb0a719 --- /dev/null +++ b/ci/travis_script_toolchain.sh @@ -0,0 +1,66 @@ +#!/usr/bin/env bash + +# Licensed 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. See accompanying LICENSE file. + +set -xe + +# Use a C++11 compiler on Linux +export CC="gcc-4.9" +export CXX="g++-4.9" + +# ---------------------------------------------------------------------- +# Set up external toolchain + +MINICONDA_URL="https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh" +export MINICONDA=$HOME/miniconda +wget -O miniconda.sh $MINICONDA_URL +bash miniconda.sh -b -p $MINICONDA +export PATH="$MINICONDA/bin:$PATH" +export CPP_TOOLCHAIN=$TRAVIS_BUILD_DIR/cpp-toolchain + +conda update -y -q conda +conda config --set auto_update_conda false +conda info -a + +conda config --set show_channel_urls True + +# Help with SSL timeouts to S3 +conda config --set remote_connect_timeout_secs 12 + +conda info -a + +conda create -y -q -p $CPP_TOOLCHAIN \ + boost-cpp arrow-cpp zlib thrift-cpp snappy brotli cmake git \ + -c conda-forge + +# ---------------------------------------------------------------------- + +: ${CPP_BUILD_DIR=$TRAVIS_BUILD_DIR/parquet-build} +export PARQUET_TEST_DATA=$TRAVIS_BUILD_DIR/data +export PARQUET_BUILD_TOOLCHAIN=$CPP_TOOLCHAIN +export BOOST_ROOT=$CPP_TOOLCHAIN + +cmake -DPARQUET_CXXFLAGS=-Werror \ + -DPARQUET_TEST_MEMCHECK=ON \ + -DPARQUET_ZLIB_VENDORED=off \ + -DPARQUET_ARROW=ON \ + -DPARQUET_ARROW_LINKAGE=static \ + -DPARQUET_GENERATE_COVERAGE=1 \ + $TRAVIS_BUILD_DIR + +pushd $CPP_BUILD_DIR + +make -j4 || exit 1 +ctest -VV -L unittest || { cat $TRAVIS_BUILD_DIR/parquet-build/Testing/Temporary/LastTest.log; exit 1; } + +popd http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/af307f8f/cmake_modules/ThirdpartyToolchain.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake index 7b4c941..1d636fe 100644 --- a/cmake_modules/ThirdpartyToolchain.cmake +++ b/cmake_modules/ThirdpartyToolchain.cmake @@ -45,7 +45,7 @@ if (NOT "$ENV{PARQUET_BUILD_TOOLCHAIN}" STREQUAL "") if (NOT DEFINED ENV{BOOST_ROOT}) # Since we have to set this in the environment, we check whether # $BOOST_ROOT is defined inside here - set(ENV{BOOST_ROOT} "$ENV{ARROW_BUILD_TOOLCHAIN}") + set(ENV{BOOST_ROOT} "$ENV{PARQUET_BUILD_TOOLCHAIN}") endif() endif()
