You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@parquet.apache.org by we...@apache.org on 2017/05/15 20:31:09 UTC

parquet-cpp git commit: PARQUET-988: Add toolchain Linux build using conda

Repository: parquet-cpp
Updated Branches:
  refs/heads/master c4caaf036 -> af307f8f9


PARQUET-988: Add toolchain Linux build using conda

Author: Wes McKinney <we...@twosigma.com>

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 <we...@twosigma.com>
Authored: Mon May 15 16:31:00 2017 -0400
Committer: Wes McKinney <we...@twosigma.com>
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()