restore "red X" build failures in Travis
authorJeff Donahue <jeff.donahue@gmail.com>
Mon, 8 Sep 2014 09:11:41 +0000 (11:11 +0200)
committerJeff Donahue <jeff.donahue@gmail.com>
Thu, 11 Sep 2014 15:13:28 +0000 (17:13 +0200)
.travis.yml
scripts/travis/travis_build.sh [deleted file]
scripts/travis/travis_build_and_test.sh
scripts/travis/travis_install.sh
scripts/travis/travis_setup_makefile_config.sh

index 46dfc11..3deb45a 100644 (file)
@@ -16,19 +16,16 @@ compiler: gcc
 
 before_install:
   - export NUM_THREADS=4
-  - alias make="make --jobs=$NUM_THREADS"
   - export SCRIPTS=./scripts/travis
-  - set -e  # fail when a script fails
 
 install:
-  - source $SCRIPTS/travis_install.sh
+  - sudo -E $SCRIPTS/travis_install.sh
 
 before_script:
   - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
-  - if ! $WITH_CMAKE; then source $SCRIPTS/travis_setup_makefile_config.sh; fi
+  - if ! $WITH_CMAKE; then $SCRIPTS/travis_setup_makefile_config.sh; fi
 
-script:
-  - if $WITH_CUDA; then source $SCRIPTS/travis_build.sh; else source $SCRIPTS/travis_build_and_test.sh; fi
+script: $SCRIPTS/travis_build_and_test.sh
 
 notifications:
 # Emails are sent to the committer's git-configured email address by default,
diff --git a/scripts/travis/travis_build.sh b/scripts/travis/travis_build.sh
deleted file mode 100755 (executable)
index 06b4e24..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-# Script called by Travis to do a full build of Caffe,
-# including CUDA functionality.
-
-if $WITH_CMAKE; then
-  mkdir build
-  cd build
-  cmake -DBUILD_PYTHON=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release ..
-  make --keep-going
-  cd -
-else
-  export CPU_ONLY=0
-  make --keep-going all test pycaffe warn
-  make all
-  make test
-  make pycaffe
-  make warn
-fi
index 6b7c85e..dec4d09 100755 (executable)
@@ -1,22 +1,33 @@
 #!/bin/bash
 # Script called by Travis to do a CPU-only build of and test Caffe.
 
+set -e
+MAKE="make --jobs=$NUM_THREADS --keep-going"
+
 if $WITH_CMAKE; then
   mkdir build
   cd build
   cmake -DBUILD_PYTHON=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=Release -DCPU_ONLY=ON ..
-  make --keep-going
-  make runtest
-  make lint
-  make clean
+  $MAKE
+  if ! $WITH_CUDA; then
+    $MAKE runtest
+    $MAKE lint
+  fi
+  $MAKE clean
   cd -
 else
-  export CPU_ONLY=1
-  make --keep-going all test pycaffe warn lint
-  make runtest
-  make all
-  make test
-  make pycaffe
-  make warn
-  make lint
+  if ! $WITH_CUDA; then
+    export CPU_ONLY=1
+  fi
+  $MAKE all test pycaffe warn lint || true
+  if ! $WITH_CUDA; then
+    $MAKE runtest
+  fi
+  $MAKE all
+  $MAKE test
+  $MAKE pycaffe
+  $MAKE warn
+  if ! $WITH_CUDA; then
+    $MAKE lint
+  fi
 fi
index ef84e5d..15cafbe 100755 (executable)
@@ -1,8 +1,13 @@
 #!/bin/bash
+# This script must be run with sudo.
+
+set -e
+
+MAKE="make --jobs=$NUM_THREADS"
 
 # Install apt packages where the Ubuntu 12.04 default works for Caffe
-sudo apt-get -y update
-sudo apt-get install \
+apt-get -y update
+apt-get install \
     wget git curl \
     python-dev python-numpy \
     libleveldb-dev libsnappy-dev libopencv-dev \
@@ -16,64 +21,65 @@ sudo apt-get install \
 # if needed.  By default, Aptitude in Ubuntu 12.04 installs CMake 2.8.7, but
 # Caffe requires a minimum CMake version of 2.8.8.
 if $WITH_CMAKE; then
-    sudo add-apt-repository -y ppa:ubuntu-sdk-team/ppa
-    sudo apt-get -y update
-    sudo apt-get -y install cmake || (echo "CMake install failed"; exit 1)
+  add-apt-repository -y ppa:ubuntu-sdk-team/ppa
+  apt-get -y update
+  apt-get -y install cmake
 fi
 
 # Install glog
 GLOG_URL=https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
 GLOG_FILE=/tmp/glog-0.3.3.tar.gz
 pushd .
-wget $GLOG_URL -O $GLOG_FILE && \
-    tar -C /tmp -xzvf $GLOG_FILE && \
-    rm $GLOG_FILE && \
-    cd /tmp/glog-0.3.3 && \
-    ./configure && make && sudo make install || \
-    (echo "glog install failed"; exit 1)
+wget $GLOG_URL -O $GLOG_FILE
+tar -C /tmp -xzvf $GLOG_FILE
+rm $GLOG_FILE
+cd /tmp/glog-0.3.3
+./configure
+$MAKE
+$MAKE install
 popd
 
 # Install gflags
 GFLAGS_URL=https://github.com/schuhschuh/gflags/archive/master.zip
 GFLAGS_FILE=/tmp/gflags-master.zip
 pushd .
-wget $GFLAGS_URL -O $GFLAGS_FILE && \
-    cd /tmp/ && unzip gflags-master.zip && \
-    cd gflags-master && \
-    mkdir build && \
-    cd build && \
-    export CXXFLAGS="-fPIC" && \
-    cmake .. && make VERBOSE=1 && sudo make install || \
-    (echo "gflags install failed"; exit 1)
+wget $GFLAGS_URL -O $GFLAGS_FILE
+cd /tmp/
+unzip gflags-master.zip
+cd gflags-master
+mkdir build
+cd build
+export CXXFLAGS="-fPIC"
+cmake ..
+$MAKE VERBOSE=1
+$MAKE install
 popd
 
 # Install CUDA, if needed
-CUDA_URL=http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb
-CUDA_FILE=/tmp/cuda_install.deb
 if $WITH_CUDA; then
-    curl $CUDA_URL -o $CUDA_FILE && \
-        sudo dpkg -i $CUDA_FILE ||
-        (echo "CUDA install failed"; exit 1)
-    rm -f $CUDA_FILE
-    sudo apt-get -y update
-    # Install the minimal CUDA subpackages required to test Caffe build.
-    # For a full CUDA installation, add 'cuda' to the list of packages.
-    sudo apt-get -y install cuda-core-6-0 cuda-extra-libs-6-0
-    # Create CUDA symlink at /usr/local/cuda
-    # (This would normally be created by the CUDA installer, but we create it
-    # manually since we did a partial installation.)
-    sudo ln -s /usr/local/cuda-6.0 /usr/local/cuda ||
-        (echo "CUDA symlink creation failed"; exit 1)
+  CUDA_URL=http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb
+  CUDA_FILE=/tmp/cuda_install.deb
+  curl $CUDA_URL -o $CUDA_FILE
+  dpkg -i $CUDA_FILE
+  rm -f $CUDA_FILE
+  apt-get -y update
+  # Install the minimal CUDA subpackages required to test Caffe build.
+  # For a full CUDA installation, add 'cuda' to the list of packages.
+  apt-get -y install cuda-core-6-0 cuda-extra-libs-6-0
+  # Create CUDA symlink at /usr/local/cuda
+  # (This would normally be created by the CUDA installer, but we create it
+  # manually since we did a partial installation.)
+  ln -s /usr/local/cuda-6.0 /usr/local/cuda
 fi
 
 # Install LMDB
 LMDB_URL=ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.39.tgz
 LMDB_FILE=/tmp/openldap.tgz
 pushd .
-curl $LMDB_URL -o $LMDB_FILE && \
-    tar -C /tmp -xzvf $LMDB_FILE && \
-    cd /tmp/openldap*/libraries/liblmdb/ && \
-    make && sudo make install || \
-    (echo "LMDB install failed"; exit 1)
+curl $LMDB_URL -o $LMDB_FILE
+tar -C /tmp -xzvf $LMDB_FILE
+cd /tmp/openldap*/libraries/liblmdb/
+$MAKE
+$MAKE install
 popd
 rm -f $LMDB_FILE
index fa86e92..a309bb3 100755 (executable)
@@ -1,5 +1,7 @@
 #!/bin/bash
 
+set -e
+
 mv Makefile.config.example Makefile.config
 
 if $WITH_CUDA; then