ARROW-897: [GLib] Extract CI configuration for GLib

Author: Kouhei Sutou <k...@clear-code.com>

Closes #713 from kou/glib-travis-split and squashes the following commits:

682f0bd [Kouhei Sutou] [GLib] Build only C++ libraries for GLib CI
7d02eb7 [Kouhei Sutou] [GLib] Extract CI configuration for GLib


Project: http://git-wip-us.apache.org/repos/asf/arrow/repo
Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/51b6bf25
Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/51b6bf25
Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/51b6bf25

Branch: refs/heads/master
Commit: 51b6bf2532646ce1f916613e22272782c918b2ee
Parents: 03e8b54
Author: Kouhei Sutou <k...@clear-code.com>
Authored: Fri May 26 13:12:44 2017 -0400
Committer: Wes McKinney <wes.mckin...@twosigma.com>
Committed: Wed May 31 13:45:48 2017 -0400

----------------------------------------------------------------------
 .travis.yml                    | 13 ++++++++++--
 ci/travis_before_script_cpp.sh | 42 ++++++++++++++++++++++++++++++-------
 ci/travis_env_common.sh        |  5 -----
 3 files changed, 45 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/arrow/blob/51b6bf25/.travis.yml
----------------------------------------------------------------------
diff --git a/.travis.yml b/.travis.yml
index b212fcb..36e3c18 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -40,11 +40,9 @@ matrix:
     - export CC="gcc-4.9"
     - export CXX="g++-4.9"
     - $TRAVIS_BUILD_DIR/ci/travis_before_script_cpp.sh
-    - $TRAVIS_BUILD_DIR/ci/travis_before_script_c_glib.sh
     script:
     - $TRAVIS_BUILD_DIR/ci/travis_script_cpp.sh
     - $TRAVIS_BUILD_DIR/ci/travis_script_python.sh
-    - $TRAVIS_BUILD_DIR/ci/travis_script_c_glib.sh
   - compiler: clang
     osx_image: xcode6.4
     os: osx
@@ -82,6 +80,17 @@ matrix:
     - $TRAVIS_BUILD_DIR/ci/travis_before_script_js.sh
     script:
     - $TRAVIS_BUILD_DIR/ci/travis_script_js.sh
+  - compiler: gcc
+    language: cpp
+    os: linux
+    group: deprecated
+    before_script:
+    - export CC="gcc-4.9"
+    - export CXX="g++-4.9"
+    - $TRAVIS_BUILD_DIR/ci/travis_before_script_cpp.sh --only-library
+    - $TRAVIS_BUILD_DIR/ci/travis_before_script_c_glib.sh
+    script:
+    - $TRAVIS_BUILD_DIR/ci/travis_script_c_glib.sh
 
 before_install:
 - ulimit -c unlimited -S

http://git-wip-us.apache.org/repos/asf/arrow/blob/51b6bf25/ci/travis_before_script_cpp.sh
----------------------------------------------------------------------
diff --git a/ci/travis_before_script_cpp.sh b/ci/travis_before_script_cpp.sh
index 7d4ecb7..9908735 100755
--- a/ci/travis_before_script_cpp.sh
+++ b/ci/travis_before_script_cpp.sh
@@ -15,11 +15,24 @@
 
 set -ex
 
+if [ "$1" == "--only-library" ]; then
+  only_library_mode=yes
+else
+  only_library_mode=no
+fi
+
 source $TRAVIS_BUILD_DIR/ci/travis_env_common.sh
-source $TRAVIS_BUILD_DIR/ci/travis_install_conda.sh
 
-# Set up C++ toolchain from conda-forge packages for faster builds
-conda create -y -q -p $CPP_TOOLCHAIN python=2.7 flatbuffers rapidjson
+if [ $only_library_mode == "no" ]; then
+  # C++ toolchain
+  export CPP_TOOLCHAIN=$TRAVIS_BUILD_DIR/cpp-toolchain
+  export FLATBUFFERS_HOME=$CPP_TOOLCHAIN
+  export RAPIDJSON_HOME=$CPP_TOOLCHAIN
+
+  # Set up C++ toolchain from conda-forge packages for faster builds
+  source $TRAVIS_BUILD_DIR/ci/travis_install_conda.sh
+  conda create -y -q -p $CPP_TOOLCHAIN python=2.7 flatbuffers rapidjson
+fi
 
 if [ $TRAVIS_OS_NAME == "osx" ]; then
   brew update > /dev/null
@@ -32,18 +45,31 @@ pushd $ARROW_CPP_BUILD_DIR
 
 CMAKE_COMMON_FLAGS="\
 -DARROW_BUILD_BENCHMARKS=ON \
--DCMAKE_INSTALL_PREFIX=$ARROW_CPP_INSTALL"
+-DCMAKE_INSTALL_PREFIX=$ARROW_CPP_INSTALL
+-DARROW_NO_DEPRECATED_API=ON"
+CMAKE_LINUX_FLAGS=""
+CMAKE_OSX_FLAGS=""
+
+if [ $only_library_mode == "yes" ]; then
+  CMAKE_COMMON_FLAGS="\
+$CMAKE_COMMON_FLAGS \
+-DARROW_BUILD_TESTS=OFF \
+-DARROW_BUILD_UTILITIES=OFF"
+else
+  CMAKE_LINUX_FLAGS="\
+$CMAKE_LINUX_FLAGS \
+-DARROW_TEST_MEMCHECK=ON"
+fi
 
 if [ $TRAVIS_OS_NAME == "linux" ]; then
-    cmake -DARROW_TEST_MEMCHECK=on \
-          $CMAKE_COMMON_FLAGS \
+    cmake $CMAKE_COMMON_FLAGS \
+          $CMAKE_LINUX_FLAGS \
           -DARROW_CXXFLAGS="-Wconversion -Werror" \
-          -DARROW_NO_DEPRECATED_API=on \
           $ARROW_CPP_DIR
 else
     cmake $CMAKE_COMMON_FLAGS \
+          $CMAKE_OSX_FLAGS \
           -DARROW_CXXFLAGS=-Werror \
-          -DARROW_NO_DEPRECATED_API=on \
           $ARROW_CPP_DIR
 fi
 

http://git-wip-us.apache.org/repos/asf/arrow/blob/51b6bf25/ci/travis_env_common.sh
----------------------------------------------------------------------
diff --git a/ci/travis_env_common.sh b/ci/travis_env_common.sh
index b19fafa..cef2d65 100755
--- a/ci/travis_env_common.sh
+++ b/ci/travis_env_common.sh
@@ -16,11 +16,6 @@ export MINICONDA=$HOME/miniconda
 export PATH="$MINICONDA/bin:$PATH"
 export CONDA_PKGS_DIRS=$HOME/.conda_packages
 
-# C++ toolchain
-export CPP_TOOLCHAIN=$TRAVIS_BUILD_DIR/cpp-toolchain
-export FLATBUFFERS_HOME=$CPP_TOOLCHAIN
-export RAPIDJSON_HOME=$CPP_TOOLCHAIN
-
 export ARROW_CPP_DIR=$TRAVIS_BUILD_DIR/cpp
 export ARROW_PYTHON_DIR=$TRAVIS_BUILD_DIR/python
 export ARROW_C_GLIB_DIR=$TRAVIS_BUILD_DIR/c_glib

Reply via email to